我正在使用这段代码:
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function navBar_open()
{ navBar_canceltimer();
navBar_close();
ddmenuitem = $(this).find('ul').css('visibility', 'visible');}
function navBar_close()
{ if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}
function navBar_timer()
{ closetimer = window.setTimeout(navBar_close, timeout);}
function navBar_canceltimer()
{ if(closetimer)
{ window.clearTimeout(closetimer);
closetimer = null;}}
$(document).ready(function()
{ $('#navBar > li').bind('mouseover', navBar_open) //mouseover
$('#navBar > li').bind('mouseout', navBar_timer)}); //mouseout
document.onclick = navBar_close;
效果很好
我想做的是为鼠标悬停事件添加延迟
老实说,我在另一个网站上找到了这段代码,但并不完全理解它是如何工作的。
我知道当用户鼠标移出时,会调用 navBar_timer 函数,这会在下拉菜单再次隐藏之前添加某种延迟,但我不太明白如何在鼠标悬停时实现悬停。
任何指导将不胜感激
谢谢