【发布时间】:2012-06-30 10:49:11
【问题描述】:
我试图弄清楚当我点击这些可折叠元素时,是否有办法使用 jquery 的 slideDown/slideUp/slideToggle 函数来制作动画。这是元素的html布局的sn-p:
<ul>
<li class="category1"><a href="#"></a></li>
<ul>
<div class="tag1">
<li class="cat2"><a href="#">derp</a></li>
<li class="cat2"><a href="#">derp</a></li>
<li class="cat2"><a href="#">derp</a></li>
</div>
</ul>
<li class="category2"><a href="#"></a></li>
<ul>
<div class="tag2">
<li class="cat2"><a href="#">derp</a></li>
<li class="cat2"><a href="#">derp</a></li>
<li class="cat2"><a href="#">derp</a></li>
</div>
</ul>
<li class="category3"><a href="#"></a></li>
<ul>
<div class="tag3">
<li class="cat2"><a href="#">derp</a></li>
<li class="cat2"><a href="#">derp</a></li>
<li class="cat2"><a href="#">derp</a></li>
</div>
</ul>
</ul>
这是我尝试过的 javascript 代码。它有效,但它很长。我想知道是否有更有效的方法来完成同样的事情。
$('.category1').click(function(){
$('.tag1').slideToggle('200');
$('.tag2').slideUp('200');
$('.tag3').slideUp('200');
return false;
});
$('.category2').click(function(){
$('.tag1').slideUp('200');
$('.tag2').slideToggle('200');
$('.tag3').slideUp('200');
return false;
});
$('.category3').click(function(){
$('.tag1').slideUp('200');
$('.tag2').slideUp('200');
$('.tag3').slideToggle('200');
return false;
});
【问题讨论】:
-
您可以编写一键式函数并根据类名进行切换...但是您的代码也没有那么长。
-
谢谢!它实际上比你看到的要长得多。基本上,标签和类别比显示的要多。为了发布这个问题,我缩短了它。
-
听起来你想要standard accordion。 jquery 手风琴不起作用有什么原因吗?
-
您的 HTML 无效。在将新的子列表设为子列表之前,您将关闭列表项。
标签: javascript jquery slidetoggle collapse