我試圖通過點擊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