суб-навигация не перенаправляет на страницу (jquery) - PullRequest
0 голосов
/ 25 марта 2009

У меня есть базовая разметка для выпадающего списка, вложенных списков.

Пользователь нажимает на верхний элемент навигации, который открывает вспомогательную навигацию, но мои ссылки вспомогательной навигации не работают.

Это в CMS, поэтому у меня должны быть ссылки для страниц-заполнителей.

Markup:

<ul class="navtop">
<li><a href="">Who</a>
  <ul>
     <li><a href="">Sub Item 1</a></li>
     <li><a href="">Sub Item 2</a></li>
     <li><a href="">Long Sub Item 3</a></li>
     <li><a href="">Sub Item 4</a></li>
  </ul>
</li>
<li><a href="">What</a>
  <ul>
     <li><a href="">Sub Item 1</a></li>
     <li><a href="">Sub Item 2</a></li>
     <li><a href="">Long Sub Item 3</a></li>
     <li><a href="">Sub Item 4</a></li>
  </ul>
</li>
</ul>

Javascript:

$(".navtop li").click(function(){
    $(this).toggleClass("show");        
    $(this).siblings(".show").toggleClass("show");
    return false;
});

CSS:

#headernav .navtop li.show ul
{
display: block;
}

Я попытался добавить 'return true' для $ (". Navtop li ul li a"), но это не сработало. Предложения?

Ответы [ 2 ]

0 голосов
/ 26 марта 2009

Оказывается, это сработало:

$(".navtop > li > a").click(function(){
    $(this).parent('li').toggleClass("show");       
    $(this).parent('li').siblings(".show").toggleClass("show");
    return false;
});
0 голосов
/ 26 марта 2009

Почему вы возвращаете false для щелчка LI? Я считаю, что это проблема.

Если вы уберете это, все должно работать нормально.

Если это не сработает, имейте в виду, что вы присоединяете событие click к каждому LI, а не только к LI верхнего уровня. Попробуйте вместо этого:

$(".navtop > li").click(function(){
        $(this).toggleClass("show");            
        $(this).siblings(".show").toggleClass("show");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...