За последние 24 часа нас посетили 36566 программистов и 1718 роботов. Сейчас ищут 887 программистов ...

Выделение меню

Тема в разделе "PHP для новичков", создана пользователем greenzlat, 4 авг 2010.

  1. greenzlat

    greenzlat Активный пользователь

    С нами с:
    27 апр 2008
    Сообщения:
    255
    Симпатии:
    0
    Проблема в следующем, выводится меню из БД. Нужно чтобы меню в котором сейчас находишься выделялось другим цветом, то есть присваивался другой стиль. делаю так:
    PHP:
    1.  
    2.  
    3. <div class="main_div">
    4.       <table width="150" cellpadding="0" cellspacing="0" class="men">
    5.         <tr>
    6.           <?
    7.  $kategor = mysql_query ("SELECT * FROM kategor",$db);
    8.  while ($kateg = mysql_fetch_array ($kategor))
    9.   { $sum_topik = "SELECT COUNT(*) FROM bd
    10.         WHERE kod=1 and kat=".$kateg["id"];
    11.   $totaltop = mysql_query($sum_topik);
    12.   $f_com = mysql_result($totaltop, 0);
    13.   $total_topik = $f_com;
    14.  if ($kateg["id"]==$kat)
    15.  {
    16.  ?>
    17.  <td class="menu"><a href="../kategor.php?kat=<?php echo $kateg["id"];?>"><?php echo $kateg["title"];?></a>&nbsp;<span class="sum_top">[<?php echo $total_topik;?>]</span></td>
    18.              </tr>
    19.  <? }
    20.  else
    21.  { ?>
    22.  <td onMouseOver="this.style.backgroundColor='#F8BD71'" onMouseOut="this.style.backgroundColor='#fcf1de'"><a href="../kategor.php?kat=<? echo $kateg["id"];?>"><? echo $kateg["title"];?></a>&nbsp;<span class="sum_top">[<?php echo $total_topik;?>]</span></td>
    23.              </tr>
    24.  <? }  
    25.  } ?>        
    26.         </table>
    27.     </div>
    28.  
    [css]

    .menu{
    background: #F8BD71;
    }
    /*Фон выделенного меню*/

    .men {
    background:#F8BD71;
    border: solid 1px #f5cb92;
    }


    .men a{text-decoration:none; color: #000000}
    .men a:hover {text-decoration: underline; color: #770000; }

    .men td{
    border-bottom:dashed 1px #999999;
    font-size:12px;
    font-weight: bolder;
    text-align:left;
    padding:7px; /*высота строк меню*/
    padding-left:10px;
    }


    [/css]
    А получается так: когда страницу загружаешь цвет меню становится таким: #F8BD71; проводишь мышкой по всем пунктам и цвет ячейки меняется на #fcf1de. А потом уже когда наводишь мышкой на меню то при наведении уже меняется цвет, проблема собственно в том, что стиль <td class="menu"> не применяется почему-то? (15строка кода)
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    менять надо не через зис.стайл.бгколор, а через класс.

    лень понимать что написано в первой части. покажите сразу готовый хтмл который получается.
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    как я делаю:

    пхп создает меню, одному из пунктов добавляет класс.

    дальше в css прописываются:
    .menu
    .menu.active
    .nemu:hover


    ну и если охота повыпендриваться - .nemu.active:hover

    в итоге js ничего не меняет, очень удобно. все на css