0
我正在創建一個菜單。菜單如下。jQuery - 單擊並添加類觸發另一個(相關)點擊?
$('.category').mouseover(function() { $(this).removeClass('category').addClass('categoryhover'); }).mouseout(function() { $(this).removeClass('categoryhover').addClass('category'); });
$('.category').click(function() { $('.catmenu').removeClass('catmenu').addClass('hide'); $('.categoryact').removeClass('categoryact').addClass('category'); $('.hide', this).removeClass('hide').addClass('catmenu'); $(this).removeClass('category').addClass('categoryact'); });
$('.categoryact').live('click', function() { $('.catmenu').removeClass('catmenu').addClass('hide'); $(this).removeClass('categoryact').addClass('category'); });
點擊與類別類別的div將給該類別一個新類別(categoryact)並顯示其子菜單。想必再次點擊它會隱藏它。但是,當點擊div的新事件(categoryact)發生時,隱藏它的函數也會被觸發。當然結果是,第一次點擊,顯示子菜單,似乎什麼都不做。當然,我們知道它實際上是在發射另一個。
有人可以告訴我爲什麼它會觸發「隱藏」功能,以及一種可能的解決方法嗎?或者,該死的寫這個更簡單的方法。有很多add/remove-Class正在進行。 ;)
謝謝。
使用jQuery的toggle()和toggleClass()函數會不會更容易? http://api.jquery.com/toggle,http://api.jquery.com/toggleClass ...這樣,你可能根本不需要live()綁定,因爲簡單的click()會切換類和子菜單 – 2011-02-12 20:56:40
有沒有辦法在CSS中添加懸停效果?根據我的經驗,這是最簡單的。也許張貼的HTML和CSS,我們可以幫助。 – rcravens 2011-02-12 21:13:35