js如何停止计时器不执行下面的代码

JavaScript029

js如何停止计时器不执行下面的代码,第1张

1、定时器通常时隔段时间执行一次代码,时间可长可短,最短应该是1毫秒。

2、做一个全局变量,在定时器代码里增加个条件判断,只有全局变量为真才执行,否则不执行。

3、点击按钮时,将全局变量赋值为假,这样,定时器代码就不会再次执行了。

4、希望对你有帮助。

js中两种定时器的设置及清除

循环执行:

var timeid = window.setInterval(“方法名或方法”,“延时”)

window.clearInterval(timeid)

<script type="text/javascript">

$(document).ready(function(){    //循环执行,每隔1秒钟执行一次 1000     var

t1=window.setInterval(refreshCount, 1000)

function refreshCount() {

console.log("ready")

}

//去掉定时器的方法

window.clearInterval(t1)

})

</script>

2.定时执行:当方法执行完成定时器停止(但是定时器还在,只不过没用了)

var tmid = window.setTimeout(“方法名或方法”, “延时”)

window.clearTimeout(tmid)

<script type="text/javascript">

$(document).ready(function(){    //定时执行,5秒后执行

var t1=window.setTimeout(refreshCount, 1000 * 5)   function refreshCount() {

console.log("ready")

}    //去掉定时器的方法      window.clearTimeout(t1)

})

</script>

原本我们若想将一个定时器暂停或清除,我们通常会用clearInterval()的方法。我们在setInterval时存储这个Interval的id,之后再需要暂停时通过id查找并清除该定时器(甚至需要记录请出时变化的数据),等到需要定时器继续运转我们就setInterval()在创建一次。

本次在大量使用定时器的过程中,为了优化繁琐的操作,我给定时器内部回调函数添加了数据驱动, 每个操作对应 一个常驻定时器 只在页面初始化时创建一次定时器,后续不再重新创建或释放

接下来我会举几个本次做的例子:

如果我们用传统释放定时器的方式,那么释放时我们还需记录运行时间,当前状态等。重新创建我们还需要把记录的值传递进去,不甚繁琐。

以上两个例子就是本次思想的精髓, 之后准备二次封装一个新的定时器,敬请期待

做完了: 数据驱动二次封装定时器工具类

球球你们看完点个赞吧。