鼠标悬停,延后触发事件
2014-07-23 15:31
330 查看
最近在制作一个3D模型展示的工作,用到了鼠标悬停,延后几秒钟后,展示一些东西,在做的时候发现了些问题,特地来这里进行一下记录。
正常的实例:
例1:
例2:
function initShowCloth(){
alert(1);
}
setTimeout(initShowCloth(),2000); //2秒后弹出“1”
以上情况都是正常实现的。
起初我是这样写的:
错误示例:
在网上也找了许多文章,也没有什么结果,自己就尝试着按下面的情况去写
正确示例:
对于 setInterval(function,time);也是这样的情况。
所以,我的解决方法就是,将要执行的操作,不写在新的函数里面,而是写成上述的正确示例的形式,大家也可以这么去写。
具体原因还没有去挖掘,热心的博友有什么想说的请不要吝啬,到时候我会补充到这篇文章里。
正常的实例:
例1:
setTimeout("alert(1)",2000);//2秒后弹出“1”
例2:
function initShowCloth(){
alert(1);
}
setTimeout(initShowCloth(),2000); //2秒后弹出“1”
以上情况都是正常实现的。
起初我是这样写的:
错误示例:
var showClothTimer ; function initShowCloth(){ alert(1); } button.addEventListener( 'mouseover', function(event) { showClothTimer = setTimeout(initShowCloth(),2000); }, false ); button.addEventListener( 'mouseout', function(event) { clearTimeout(showClothTimer); }, false );上面的方法,大家要试过了就会发现,它并没有在2秒后弹出“1”,而是在你鼠标移动到按钮上时就会弹出。
在网上也找了许多文章,也没有什么结果,自己就尝试着按下面的情况去写
正确示例:
var showClothTimer; showClothTimer = setTimeout(function(){ alert(1); },2000); }, false ); button.addEventListener( 'mouseout', function(event) { clearTimeout(showClothTimer); }, false );发现结果是自己想要的,2秒后弹出“1”。
对于 setInterval(function,time);也是这样的情况。
所以,我的解决方法就是,将要执行的操作,不写在新的函数里面,而是写成上述的正确示例的形式,大家也可以这么去写。
具体原因还没有去挖掘,热心的博友有什么想说的请不要吝啬,到时候我会补充到这篇文章里。
相关文章推荐
- 鼠标悬停、事件触发试用,及信号发送
- 鼠标悬停(鼠标悬停一段时间后触发事件)一段时间后触发事件
- 关于鼠标悬停,事件延时触发的解决
- echars 自定义触发鼠标悬停事件
- js实现鼠标悬停一定时间后触发事件--淘宝例子
- 鼠标悬停、事件触发试用,及信号发送
- 鼠标悬停、事件触发试用,及信号发送
- 鼠标悬停一段时间再触发事件
- GridView中鼠标悬停在某一列中触发事件
- 你真的了解html代码的事件,离开焦点和聚焦焦点的动作的意思吗?onblur、focus?它们是点击才可以触发,而不是鼠标悬停,鼠标悬停是hover
- C# 中panel的mousewheel鼠标滚轮事件触发
- TreeView1鼠标点击节点触发的单击事件
- JQuery实现鼠标滑动多次,只触发一次响应事件
- 笔记-鼠标悬停事件
- 鼠标悬停事件
- 当鼠标移入移出div时,触发事件(此处为图片的可见和不可见)
- js任意鼠标点击触发事件
- 【Flex】——DataGrid的鼠标焦点移动事件。鼠标在DataGrid的列中移动时所触发的event。
- 触发档住按钮的mc的鼠标事件
- 【OpenGL】鼠标触发事件