我试图通过点击ul元素来动画li元素(类似于BS折叠) 最初所有li元素都是隐藏的。li元素的jquery动画
我的标记是:
<ul title="mounting" id="0" class="39 mountin" data-color="anthrazit">
Mounting
<li id="0" class="261">
<div class="label"><strong>grey</strong>
</div>
</li>
<li id="1" class="262">
<div class="label"><strong>black</strong>
</div>
</li>
<li id="2" class="263">
<div class="label"><strong>white</strong>
</div>
</li>
</ul>
<ul title="earpad" id="3" class="39 earpad" data-color="red">
Earpad
<li id="4" class="261">
<div class="label"><strong>grey</strong>
</div>
</li>
<li id="5" class="262">
<div class="label"><strong>black</strong>
</div>
</li>
<li id="6" class="263">
<div class="label"><strong>white</strong>
</div>
</li>
</ul>
我jQuery代码是:
$('#navi ul:not(.open)').click(function(){
$('#navi ul li').hide();
$('#navi ul').removeClass('open');
$(this).find('li').slideDown();
$(this).addClass('open');
});
点击UL打开用了slideDown动画里。 我面临的问题是: 当我单击现在可见的li元素之一时,它从头开始动画。我不知道如何解决这个问题。
可以请您分享CSS吗? – vijayP
这是不好的做法,有多个元素具有相同的'ID',ID的应该是唯一的 –
@Mamulasa检查我的回答 – SilverSurfer