办公设备维修网
资讯中心 您所在的位置:网站首页 资讯中心 JS中setInterval()的使用以及注意事项

JS中setInterval()的使用以及注意事项

2024-05-02 17:58:28| 来源: 网络整理

定义和用法

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。用法如下:

菜鸟教程(runoob.com)

显示当前时间:

停止时间var myVar = setInterval(function(){ myTimer() }, 1000);function myTimer() { var d = new Date(); var t = d.toLocaleTimeString(); document.getElementById("demo").innerHTML = t;}function myStopFunction() { clearInterval(myVar);}注意事项

在动态加载的页面中,一定要清理循环定时器。有时候重复设置定时器,严重的时候会导致内存泄露,最终页面崩溃。

回调

回调函数中会包含一些变量或者DOM元素,需要更加小心谨慎,考虑这些元素的释放问题。

存储方案放在全局变量中,用之前判断,防止重复var interval = null;//计时器var i = 0;function start(){//启动计时器函数 if(interval!=null){//判断计时器是否为空 clearInterval(interval); interval=null; } interval = setInterval(overs,1000);//启动计时器,调用overs函数,}function overs(){ i++; console.log(i); } function stop(){ clearInterval(interval); interval = null;}暂存JQUERY变量中//这是基于BJUI的框架代码,这个还有其他上下文,不要轻易模仿$.CurrentNavtab[0].TimerInfo=[];//存储$.CurrentNavtab[0].TimerInfo.push(setInterval(overs,1000));//释放if (typeof($thisNavtab[0].TimerInfo) != "undefined"){ for (var i=0;i


【本文地址】 转载请注明 

最新文章

推荐文章

CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备16040606号-1