2016-12-24 2 views
-2
<script> 
$(document).ready(function(){ 
    $("li.start").next().slidetoggle("li"); 
}); 
</script> 
</head> 
<body> 

<div style="width:500px;" class="siblings"> 
    <ul>ul (parent) 
    <li class="start">li (sibling with class name "start")</li> 
    <li>li (the next sibling of li with class name "start")</li> 
    </ul> 
    <ul>ul (parent) 
    <li class="start">li (sibling with class name "start")</li> 
    <li>li (the next sibling of li with class name "start")</li> 
    </ul> 
</div> 

Этот код не работает. Мне нужно использовать слайд-переключатель для всех элементов с отношениями родитель-ребенок.Мне нужно использовать slidetoggle для всех элементов

+0

Что '.slidetoggle ("Ли")' должен делать? Пожалуйста, взгляните на [.slideToggle() Documentation] (http://api.jquery.com/slidetoggle/). Вы можете передать продолжительность анимации в качестве параметра и опциональную функцию обратного вызова. Таким образом, вы можете использовать '.slidetoggle (" slow ")', '.slidetoggle (" fast ")' или '.slidetoggle (400)' (который составляет 400 миллисекунд). – EhsanT

+0

миллисекунда не проблема. ... проверьте ответы ... все еще работает с slidetoggle (250) ... –

+0

Почему вы публикуете разные ответы? Вы знаете, для чего используется раздел ответа? также, поскольку JavaScript чувствителен к регистру, тогда '.slidetoggle();' неверно, и вы должны использовать '.slideToggle();', как в ваших ответах (** T ** должен быть в верхнем регистре). [рабочая скрипка] (https://jsfiddle.net/ehsant/ca1kg7g7/) – EhsanT

ответ

0

Я понял, что мне не хватает this. Теперь он работает.

Я изменился:

$(document).ready(function(){ 
    $("li.start").next().slidetoggle("li"); 
}); 

к:

$(document).ready(function(){ 
    $(".parent").click(function(){ 
    $(this).next('li').slideToggle(250); 
    }); 
}); 
Смежные вопросы