这是我的下拉菜单代码示例。
$( document ).ready(function() {
$('.collapsedArchives ul li').click(function(){
$('.collapsedArchives ul li ul').slideDown('slow');
});
$('.collapsedArchives ul li ul').click(function(){
$('.collapsedArchives ul li ul li').slideDown('slow');
});
});
当用户点击slideDown的选择器点击第二次时,使用slideUp动画,id应该做什么?
感谢。
答案 0 :(得分:2)
jQuery有.slideToggle( \[duration \] \[, complete \] )
$('.collapsedArchives ul li').click(function(){
$(this).find('> ul').slideToggle('slow');
});
现在您可能希望使用event.stopPropagation()
取消点击的冒泡$('.collapsedArchives ul li').click(function(evt){
evt.stopPropagation();
$(this).find('> ul').slideToggle('slow');
});
答案 1 :(得分:1)
另一种选择是将变量存储在对象
中$(item).data("somevar", true);
你可以检查,根据情况翻转,然后有条件路由发生的事情。
答案 2 :(得分:1)
我没有清楚地理解这个问题,但是根据提供的答案,我猜你可以使用this
,这样你就可以打开/关闭li ul
并将其他元素留在他们的身上当前状态open
或cloesed
$('.collapsedArchives ul li').click(function () {
$(this).find("ul").slideToggle('slow');
});
但是我猜你可能想要关闭所有其他il ul
,而不是你刚刚点击的那个:{/ p>
$('.collapsedArchives ul li').click(function () {
$(".collapsedArchives ul li ul").slideUp('slow');
$(this).find("ul").slideDown('slow');
});
检查此demo