Hold-Hover下拉菜单延迟时间

时间:2011-09-21 02:55:27

标签: menu hover drop-down-menu delay

我正在创建一个下拉菜单,我想知道是否还有实现以下内容:

如果用户将鼠标从他选择的标签上移开,我需要保持子菜单打开1秒钟。很可能像当前的英特尔网页www.intel.com,在这里你将鼠标悬停在菜单上,但如果你将鼠标从标签上移开或子菜单打开则需要一些隐藏子菜单。

我在jquery中使用.mouseover来显示菜单(div),但我找不到让它停留片刻的方法。

提前致谢

1 个答案:

答案 0 :(得分:0)

这可能是有用的 What is the JavaScript version of sleep()?

如果你想在临时中做一些事情,setTimeout()接受如下所示的参数,其中continue execution是另一个子例程。如果您只想让这个选项卡以这种方式工作,请使用鼠标悬停调用doStuff并将布尔值(例如mouseStillIn)设置为TRUE。当鼠标退出时将此布尔值设置为FALSE,每次mouseStillIn为TRUE时调用递归函数。

e.g。


var mouseStillIn : boolean = false;

function MouseIn()
{
mouseStillIn=true;
CheckMouse();
}

function CheckMouse()
{
if(mouseStillIn)
{
setTimeout(CheckMouse, 1000);
}
}

function MouseOut()
{
mouseStillIn=false;
}