JS中setTimeout()⽤法总结
在制作⽹页动态效果时,⼀定会遇到某些需求,要求某段程序等待多时时间后再开始执⾏,就像在我们的⽣活中⼀样,待会⼉再开始做⼀件事。在JavaScript中主要通过定时器实现此类需求,本⽂将对定时器做⼀个概括,正对setTimeout()做⼀个详细⽤法总结。
⼀.setInterval与setTimeout的区别
setInterval
setInterval()⽅法可按照指定的周期来调⽤函数或者计算表达式(以毫秒为单位)
语法:
setInterval(函数表达式,毫秒数);
setInterval()会不停的调⽤函数,直到clearInterval()被调⽤或者窗⼝被关闭,由 setInterval()返回的ID值可⽤作clearInterval()⽅法的参数。
setTimeout
setTimeout()⽅法⽤于在指定毫秒数后再调⽤函数或者计算表达式(以毫秒为单位)
语法:
setTimeout(函数表达式,毫秒数);
setTimeout()只执⾏函数⼀次,如果需要多次调⽤可以使⽤setInterval(),或者在函数体内再次调⽤setTimeout()
区别
通过以上分析可以看出,setTimeout与setInterval的主要区别是:
setTimeout()⽅法只运⾏⼀次,也就是说当达到设定的时间后就出发运⾏指定的代码,运⾏完后就结束了,如果还想再次执⾏同样的函数,可以在函数体内再次调⽤setTimeout(),可以达到循环调⽤的效果。
setInterval()是循环执⾏的,即每达到指定的时间间隔就执⾏相应的函数或者表达式,是真正的定时器。
⼆.setTimeout()的⽤法
先写个最简单的demo,如下:
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="utf-8">
5 <script>
6 setTimeout("alert('hello')",2000);
7 </script>
8 </head>
9 <body>
10 </body>
11 </html>
页⾯会在停留2秒之后弹出对话框,注意setTimeout不会⾃动重复执⾏!
当然,setTimeout也可以执⾏function,还可以不断重复执⾏!
你可以看到h1中的⽂本数字在⼀秒⼀秒地递增!
更加灵活的是,你还可以指定重复执⾏的次数,如下:
if判断中的数字,是⽤来限制重复执⾏次数的条件。
三.clearTimeout()
要使⽤clearTimeout(),需要我们设定setTimeout()时,给予这setTimeout()⼀个名称, 这名称就是timeoutID ,我们叫停时,就是⽤这timeoutID 来叫停
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="utf-8">
5 <script>javascript动态效果
6var timeId= setTimeout("alert('hello')",2000);
7 clearTimeout(timeId);
8 </script>
9 </head>
10 <body>
11 </body>
12 </html>
原计划1秒后弹出的警⽰框,被⾃然叫停了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论