目前,我有以下腳本:鼠標懸停導航,如果掉了下來
http://jsfiddle.net/oshirowanen/mnXdv/
如果在導航的一個點擊,它滴下來的正常工作,即如果在另一個點擊,現有下拉菜單消失,另一個下拉菜單出現,如果我點擊文檔上的任何位置,無論打開哪個導航,它都會消失。
如何添加鼠標懸停,以便其他導航自動下拉,如果另一個導航已經下降。但是,如果沒有導航下拉,導致下拉菜單,則必須單擊它才能下拉菜單等等。
目前,我有以下腳本:鼠標懸停導航,如果掉了下來
http://jsfiddle.net/oshirowanen/mnXdv/
如果在導航的一個點擊,它滴下來的正常工作,即如果在另一個點擊,現有下拉菜單消失,另一個下拉菜單出現,如果我點擊文檔上的任何位置,無論打開哪個導航,它都會消失。
如何添加鼠標懸停,以便其他導航自動下拉,如果另一個導航已經下降。但是,如果沒有導航下拉,導致下拉菜單,則必須單擊它才能下拉菜單等等。
可能的解決方案:
雖然我贊成使用<ul>
「s的CSS樣式來控制.active
狀態,所以使用Javascript將變得簡單多了,是這樣的:
function makeActive(el) {
$('.menu .active').removeClass('active');
$(el).parent().addClass('active');
}
$('.menu li a').click(function() {
makeActive(this);
});
$('.menu li a').hover(function() {
if ($('.menu .active').length == 0) {
return;
}
makeActive(this);
});
如果我理解正確,您要使用.hover()
$('.navigation').click(function(event) {
$(this).siblings('.navigation.active').click();
$(this).toggleClass('active').next().toggle();
event.stopPropagation();
}).hover(function() {
$(this).siblings('.navigation.active').click();
$(this).toggleClass('active').next().toggle();
}, function() {});
更新fiddle。
但是,如果沒有下拉選項,懸停應該不起作用,以便激活懸停,下拉必須已經放下,一旦所有下拉關閉,懸停都不起作用。 – oshirowanen 2011-02-24 13:51:35