Javascript 带超时的鼠标悬停事件
我有一些鼠标悬停事件的链接。onmouseover将显示一个图层。 它工作正常,但有点烦人,因为如果鼠标不经意地越过链接,该层将显示出来 现在我想要的是,如果用户在链接上有鼠标,并在链接上停留200毫秒,那么它应该显示图层 我怎样才能做得更好。因为我需要注册和设置超时功能,如果鼠标在200毫秒前离开,我必须清除超时 谢谢你的帮助。Javascript 带超时的鼠标悬停事件,javascript,prototype,Javascript,Prototype,我有一些鼠标悬停事件的链接。onmouseover将显示一个图层。 它工作正常,但有点烦人,因为如果鼠标不经意地越过链接,该层将显示出来 现在我想要的是,如果用户在链接上有鼠标,并在链接上停留200毫秒,那么它应该显示图层 我怎样才能做得更好。因为我需要注册和设置超时功能,如果鼠标在200毫秒前离开,我必须清除超时 谢谢你的帮助。 <!doctype html> <html> <head> <script>
<!doctype html>
<html>
<head>
<script>
window.onload = function () {
var interval = null, link = null;
// Window = Container
window.onmousemove = function (event) {
var target = event.target;
if (target.nodeName === "A") {
link = target;
if (interval === null) {
interval = setInterval (function () {
clearInterval (interval);
interval = null;
open ("", ""); // Display layer
}, 1000); // I think 1 sec is better
}
}
if (interval !== null && link !== target) {
clearInterval (interval);
interval = null;
}
}
}
</script>
<title></title>
</head>
<body>
<a href = "#">Click me</a>
<a href = "#">Click me</a>
</body>
</html>
window.onload=函数(){
变量间隔=null,链接=null;
//窗口=容器
window.onmousemove=函数(事件){
var target=event.target;
如果(target.nodeName==“A”){
链接=目标;
如果(间隔===null){
间隔=设置间隔(函数(){
间隔时间;
间隔=空;
打开(“,”);//显示层
},1000);//我认为1秒更好
}
}
if(间隔!==null&&link!==target){
间隔时间;
间隔=空;
}
}
}
我已经在几家不同的公司编写了JS代码来实现这一点。如果您还想取消鼠标上的图层,而不管您的触发启示是什么,那么它就会变得复杂,而且取消也会被延迟
你说得对,你需要计时器,它的timerID已经存储好了,这样你就可以清除它们了。我不打算为您编写代码,但如果您有一个实现,我可以对您的实现进行评论。您的意思是您想要一种比创建计时器并在
mouseout
上清除计时器更好的方法,还是您不知道如何执行此操作?我需要一种干净的方法来执行此操作。谢谢