使用定时器常常会出现一些时间紊乱的问题,之前我就遇到过使用setInterval产生动画,当一中断事件不断的被触发,这个就很可能会导致时间紊乱、动画紊乱的问题,想必大家在也都经历过这样的问题,解决这个问题的方法是,构造在某时刻只存在一条时间线的机制,延迟事件触发,这个将在以后的文章中讨论,今天发现了一个问题,使用setInterval会导致同一绑定的多重触发,代码如下
<script language='javascript' src='jquery.js'></script>
<script language='javascript'>
$(document).ready(function(){
function tt(){
//...一些动画代码
$(window).keydown(function(event){
if(event.keyCode == 37) alert("yes");
});
}
setInterval(tt,1000);
});
</script>
如果等1秒,按Left键,会出现1个alert,停留5秒,再按一次Left键,会出现5个alert,也就是,每一秒注册一个监听器似的,解决方法很简单,将keydown绑定事件不参与setInterval就行了,直接和setInterval平级,即:
$(document).ready(function(){
function tt(){
//...一些动画代码
}
$(window).keydown(function(event){
if(event.keyCode == 37) alert("yes");
});
setInterval(tt,1000);
});
分享到:
相关推荐
使用setInterval()模拟进度条 使用setInterval()模拟进度条
关于JS定时器(setTimeout setInterval)定时不准问题1
NULL 博文链接:https://wwwzhouhui.iteye.com/blog/585388
前端开发中,我们会会经常使用定时器setinterval setTimeout等,但当我们离开页面时,定时器会被阻塞,导致我们再回到页面的时候定时任务会混乱运行,为些我的解决方案写了个简单demo,希望对你有所帮助
js 代码中执行循环事件时,经常会用到 setInterval 和 setTimeout 这两个方法,关于这两个方法的细节这里不详细讨论了,简要分享下在需要停止循环事件的时候该如何操作。 (1)setInterval 方法可按照指定的周期(以...
博文链接:https://weiweichen1985.iteye.com/blog/193628
使用SetInterval和设定延时函数setTimeout 很类似。setTimeout 运用在延迟一段时间,再进行某项操作。
主要介绍了在vue中使用setInterval的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
html5利用setInterval实现新年元旦倒计时
原因:页面加载时我调用了1次函数A,然后又单独调用了一次定时器函数,导致调用了2次setInterval(),导致有setInterval_id有2个值。 通过打印定时器的值发现的问题。 clearInterval()只关闭了其中一个setInterval_id...
主要介绍了Vue中使用 setTimeout() setInterval()函数的问题 ,需要的朋友可以参考下
主要介绍了vue 解决setTimeOut和setInterval函数无效报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
real-interval 如果你用setTimeout或setInterval实现过网页倒计时功能,你就会发现: 当电脑或者APP休眠了一段时间后,倒计时会出现问题:它比正确的时间慢了。 real-interval能解决这个问题。
博文链接:https://fangyong2006.iteye.com/blog/157398
什么时候 使用setInterval循环直到条件为真。 我们使用它来测试第三方库是否已将正确的全局变量加载到window 。 不是很好,我知道。 有更好的主意吗? 安装$ npm install do-when$ component install segmentio/when...
方法1. 应用jQuery的扩展可以解决这个问题。 代码如下:$(document).ready(function(){$.extend({ show:function(){ alert(“ready”)... // 使用setInterval(“show()”,3000);会报“缺少
本文实例讲述了JavaScript使用setInterval()函数实现简单轮询操作的方法。分享给大家供大家参考。具体分析如下: 轮询(Polling)是一种CPU决策如何提供周边设备服务的方式,又称“程控输出入”(Programmed I/O)。...
在js中如果打算使用setInterval进行倒数,计时等功能,往往是不准确的,针对这个问题,本文有个不错的解决方案