Всплывающее меню JQuery: сделать родительский цвет li тем же цветом, когда курсор перемещается к своему брату - PullRequest
0 голосов
/ 30 марта 2011

У меня есть это всплывающее меню , в котором " Меню 2-го уровня 3 " является выпадающим меню. Меню генерируется системой CMS, поэтому существует ограничение на добавление новых классов непосредственно в определенный пункт меню.

По умолчанию в меню 1-го уровня есть класс top-level для тега привязки, в то время как 2-го и 3-го уровня нет. Чего я хочу добиться, так это , чтобы нацелиться на «верхний уровень», чтобы найти «меню 2-го уровня 3», чтобы добавить «текущий» класс , чтобы при раскрытии всплывающего меню курсор перемещался на третий Уровень «меню 2-го уровня 3» имеет тот же белый цвет фона, что и при наведении.

Код jQuery ('# nav ul'). Find ('> a.level-top'). Parent ('li'). AddClass ('current')}); но это не работает, и я просто не могу обернуть голову, чтобы найти то, что я сделал неправильно.

 $(document).ready(function(){
    $("#nav li li").hover(function(){
        $(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
        },function(){
        $(this).find('ul:first').css({visibility: "hidden"});
        });
    });
  $(document).ready(function(){
      jQuery('#nav ul').find('> a.level-top').parent('li').addClass('current')});

1 Ответ

1 голос
/ 30 марта 2011

избавьтесь от родительского селектора '>' в функции поиска.

Я бы подошел к этому как

$('>li>ul>li').parent('ul>li').hover(function(){
    $(this).css(backgroundColor: 'red'

но, прежде чем ты сделаешь это, приятель, твой код списка мега-запутан. не забудьте закрыть элементы списка, и если вы используете CMS, которая автоматически генерирует этот код, попробуйте что-нибудь другое:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...