我有一組菜單,當用戶點擊選項欄(類似於移動/標記電子郵件的Gmail中的欄)時,我想要打開/關閉這些菜單。在jQuery中切換多個下拉菜單
當用戶點擊一個按鈕時,出現菜單。當用戶點擊另一個按鈕時,前一個菜單消失並出現新的菜單。這與以下代碼一起工作。然而,不起作用的是,如果用戶點擊一個按鈕,然後點擊相同的按鈕,菜單不會消失。
我明白爲什麼它不起作用,但不知道如何解決它。我認爲我需要添加「如果打開的菜單是您點擊的那個,關閉它並且不打開其他任何東西。」但是我試過的if語句沒有這樣做。
$("#moving ul li").click(function() {
// If the button clicked has the "active" class (meaning the menu is already open)
if ($("#moving ul li.active") == this) {
// Close the menu (removing the visible class) and make the button no longer active
$(this).toggleClass("active")
$(this).children("ul").toggleClass("visible")
// Otherwise ...
} else {
// Find the open one and close it
$("#moving ul li.active").toggleClass("active")
$("#moving ul li ul.visible").toggleClass("visible")
// Open this menu
$(this).toggleClass("active")
$(this).children("ul").toggleClass("visible")
}
})
謝謝!菜鳥的錯誤,但這清除了很多:) – Brenden 2011-03-21 20:45:23