2017-09-03 87 views
0

看着本凱門斯jquery-menu-aim,我偶然發現在codepen的一個例子。Ben Kamens jQuery菜單目的:子菜單不會重新出現後,它消失

這(codepen)的作品,並允許用戶的時間從主菜單傳遞到子菜單,但如果你完全離開菜單子菜單仍然繼續顯示,即它(子菜單)不會消失(顯示:無)。

於是,我重新創建同樣的例子在codepen上JsFiddle和改變了的Javascript

$(document).click(function() { 
    $('a.hover').removeClass('hover'); 
    $('.popover').css('display', 'none'); 
} 

到:現在

$(document).click(function() { 
    $('a.hover').removeClass('hover'); 
    $('.nav ul ul').css('display', 'none'); 
} 

,如果您按一下網頁上的任何地方頁面,除了菜單/子菜單之外,子菜單也會消失。

問題:如果再次懸停主菜單,子菜單將不會再次出現。

我該如何解決這個問題?

編輯:是否有一個替代jQuery/JavaScript的jQuery的菜單目標?

+0

你在添加懸停類單擊看來我錯了 –

+0

如果我刪除了懸停類,主菜單仍然是一個懸停狀態,即懸停狀態停留的背景顏色,而子菜單消失,我試過了,但懸停不是我正在看。 –

+0

你完全消除懸停類,因此它不會再次工作。這可以通過使用css來實現。 :重點和:懸停。根本不需要js。 –

回答

0

我覺得你想要什麼需要enterexit而不是activatedeactivate

你看過documentation嗎?

這裏是your Fiddle Updated

$menu.menuAim({ 
    enter: activateSubmenu, 
    exit: deactivateSubmenu 
}); 
+0

這是行不通的。當您嘗試將鼠標從主菜單「1」移動到子菜單「7」時,子菜單消失。請檢查。 –

+0

這是因爲你正在退出菜單。你可以在退出函數中使用超時,這樣菜單會在退出後關閉幾秒鐘......讓你有時間從1到7.我更新了小提琴。 –

+0

謝謝......對不起,我沒有閱讀文檔,但我應該有。再次感謝你。 –