【问题标题】:Hold-Hover drop down menu Delay TimeHold-Hover 下拉菜单延迟时间
【发布时间】:2011-09-21 02:55:26
【问题描述】:
我正在创建一个下拉菜单,我想知道是否有实现以下功能:
如果用户将鼠标从他选择的选项卡上移开,我需要将子菜单保持打开 1 秒。很可能就像在当前的英特尔网页 www.intel.com 中一样,在这里您将鼠标悬停在菜单上,但是如果您将鼠标从选项卡上移开或子菜单打开,则需要一些时间才能隐藏子菜单。
我正在使用 jquery 中的 .mouseover 来显示菜单(一个 div),但我找不到让它停留片刻的方法。
提前致谢
【问题讨论】:
标签:
menu
hover
drop-down-menu
delay
【解决方案1】:
这可能有用
What is the JavaScript version of sleep()?
如果您想在临时 setTimeout() 中执行某些操作,则参数如下所示,其中继续执行是另一个子例程。如果您只想让这个选项卡以这种方式工作,请使用鼠标悬停调用 doStuff 并将布尔值(例如 mouseStillIn)设置为 TRUE。当鼠标退出时将此布尔值设置为 FALSE,每次 mouseStillIn 为 TRUE 时调用递归函数。
例如
var mouseStillIn : boolean = false;
function MouseIn()
{
mouseStillIn=true;
CheckMouse();
}
function CheckMouse()
{
if(mouseStillIn)
{
setTimeout(CheckMouse, 1000);
}
}
function MouseOut()
{
mouseStillIn=false;
}