我寫了一個菜單結構here。它應該是手風琴類型的菜單 - 當你點擊一個打開的項目時,當你點擊另一個項目時,它會打開並關閉第一個項目。 我嘗試了不同的事情,仍然無法正常工作。有人可以檢查代碼並告訴必須添加的內容嗎?謝謝! html必須保持不變。自定義accordeon菜單,jQuery
<ul class="side_menu">
<li><span>Level 1</span>
<ul>
<li><span>Level 2</span>
<ul>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
</ul>
</li>
<li><span>Level 2</span>
<ul>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
</ul>
</li>
<li><span>Level 2</span>
<ul>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
</ul>
</li>
</ul>
</li>
<li><span>Level 1</span>
<ul>
<li><span>Level 2</span>
<ul>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
</ul>
</li>
<li><span>Level 2</span>
<ul>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
</ul>
</li>
</ul>
</li>
<li><span>Level 1</span>
<ul>
<li><span>Level 2</span>
<ul>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
</ul>
</li>
<li><span>Level 2</span>
<ul>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
</ul>
</li>
<li><span>Level 2</span>
<ul>
<li><a href="#">Level 3</a></li>
<li><a href="#">Level 3</a></li>
</ul>
</li>
</ul>
</li>
</ul>
這是我的JS:
jQuery(".side_menu li span").click(function(){
if (jQuery(this).parent("li").hasClass("opened"))
{
jQuery(this).parent("li").removeClass("opened");
jQuery(this).next("ul").slideUp(200);
} else {
jQuery(this).parent("li").addClass("opened");
jQuery(this).next("ul").slideDown(200);
};
});
爲什麼你使用'opened'類,你使用它作爲一個標誌,檢查元件打開..或者你已經提供了'open' –
一些樣式表阿爾俊,是的,有開放式的風格。看到http://jsfiddle.net/VMsh4/5/ – Andrey