Нажмите на Ли список не запускает любое событие

0

Не могли бы вы взглянуть на эту демонстрацию и сообщить мне, почему клик по списку не запускает никаких функций на странице?

<ul id="slider">
    <li class="expandOnClick">
        <a  href="#">One</a>
    </li>
    <li class="expandOnClick">
        <a href="#">Two</a>
        <ul class="musthidden">
            <li><a class="prevent" href="#">Two _ 1</a></li>
            <li><a class="prevent" href="#">Two _ 2</a></li>
            <li><a class="prevent" href="#">Two _ 3</a></li>
            <li><a class="prevent" href="#">Two _ 4</a></li>
        </ul>
    </li>
    <li class="expandOnClick">
        <a  href="#">Three</a>
        <ul class="musthidden">
            <li><a class="prevent" href="#">Three _ 1</a></li>
            <li><a class="prevent" href="#">Three _ 2</a></li>
            <li><a class="prevent" href="#">Three _ 3</a></li>
            <li><a class="prevent" href="#">Three _ 4</a></li>
        </ul>
    </li>
    <li class="expandOnClick">
        <a  href="#">Four</a>
    </li>
</ul

Стиль:

.musthidden {
    display:none;
}
ul
{
list-style-type:none;

}
li{
      background-color:#2d2d2d;

}
li:hover{
     background-color:#ccc;
}

Автор сценария:

$(".expandOnClick").click(function (e) {

     e.preventDefault();
     $(".musthidden").slideUp();
     $(this).parent("li").each(function () {
         if ($('.musthidden', this).css('display') == 'none') {
             $(".musthidden", this).slideDown();
         }
     });
 });

Спасибо 1

  • 0
    У вас есть слайд, который скрывает то, что уже спрятано;) Попробуйте slideToggle
Теги:

1 ответ

1
Лучший ответ

Я думаю, что это то, что вы пытаетесь сделать. http://jsfiddle.net/f27bp/11/ Использовать запрет по умолчанию в конце функции и использовать jquery.children для применения функции к детям.

$(".expandOnClick").click(function (e) {

 $(this).siblings().children(".musthidden").slideUp();
$(this).children(".musthidden").slideDown();
 e.preventDefault();

});

  • 0
    Я думаю, почти. В вашем коде есть небольшой недостаток - когда вы нажимаете на уже открытую Li, она будет скользить вверх, а затем снова вниз;)
  • 0
    Спасибо, Таймур, Терри прав, ты проверил, что происходит на клике?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню