JS定时器用法,Javascript的setTimeOut和setInterval使用教程案例
【说明】:
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,
setInterval() 方法用于在每隔指定的毫秒数循环调用函数或表达式,直到clearInterval把它清除。
也就是说setTimeout()只执行一次,setInterval()可以执行多次。两个函数的参数也相同,第一个参数是要执行的code或句柄,第二个是延迟的毫秒数。
setTimeOut用法:
var setTimeOutID = window.setTimeout(func, [delay, param1, param2, ...]); var setTimeOutID = window.setTimeout(code, [delay]);
setTimeOutID:定时器ID号,它可以在clearTimeout()函数中被用来清除定时器。
func:被执行的函数。
code:(替代的语法)一个被执行的代码串。
delay:延迟的时间,单位毫秒。如果没有指定,默认为0。
我们可以使用window.setTimeout或setTimeout,两个写法基本一样,只不过window.setTimeout将setTimeout函数作为全局window对象的一个属性来引用。
应用示例:【代码执行时,10秒后调用timeout()函数】
<script> function timeout(){ document.getElementById('res').innerHTML=Math.floor(Math.random()*100 + 1); } setTimeout("timeout()",10000); </script>
setInterval用法:
setInterval函数的参数及用法和setTimeout函数一样,请参照上文的setTimeout函数的用法介绍。不同的是,setInterval每隔一定的时间执行当中的func或code代码。
应用示例:【代码执行时,30秒后弹出提示信息】
<script> var tt = 30; var timer = window.setInterval("timego()",1000); //每一秒调用一次timego方法 function timego(){ tt--; document.getElementById("tt").innerHTML = tt; if(tt==0){ alert('小川编程,欢迎订阅!'); window.clearInterval(timer); // } } document.getElementById("clear").onclick = function(){ window.clearInterval(timer); } </script>
函数timego()定义了页面元素#tt显示的内容,当tt等于0时,页面定向到首页。然后我们定义一个定时器timer,使用setInterval()每隔1秒调用一次timego()。这样timego会执行30次,每次数字tt会减1,直到为0。
那么如果想停止定时器,可以使用以下代码:
window.clearInterval(timer);
其实setTimeout()也可以实现每隔一段时间重复执行某个函数,但我们还是简单的区别使用setTimeOut和setInterval。另外javascript都是以单线程的方式运行于浏览器的javascript引擎中,实际应用中复杂的任务中需要排队执行,这就可能导致定时器时间不准,这个问题在大型应用中需要考虑。
转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/88.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意