ホバーすると、サブメニューに追加してマウスリーブで削除することにより、現在ホバーされているアイテムのサブナビを表示するメニューがあります.stick
。別のメニュー項目にカーソルを合わせていない場合は、最後にホバーしたメニュー項目をさらに 2 秒間開いたままにしてから非表示にします。
これが私が持っているものです。mouseleave()
ホバー関数の handlerOut 内にあるため、コンテナーで呼び出された関数が機能しないことはわかっていul#main-nav > li
ますが、最後に中断した場所を示すために残しました。
$('ul#main-nav > li').hover(function() {
var $this = $(this);
clearTimeout(window.menustick);
$this.find('ul.submenu').addClass('stick');
}, function() {
var $this = $(this);
if($this.siblings().hover()) {
$this.find('ul.submenu').removeClass('stick');
} else if ($('#main-nav').mouseleave()) {
window.menustick = setTimeout(function(){
$this.find('ul.submenu').removeClass('stick');
}, 2000);
}
});
前もって感謝します!