AndroidJava 2019-07-08
今天千锋扣丁学堂HTML5培训老师给大家分享一篇关于JavaScript定时器设置、使用与倒计时案例详解,详细分析了javascript定时器的设置、取消、循环调用并附带一个倒计时功能应用案例,下面我们具体来看一下吧。
1、设置定时器
定时器,适用于定时执行的任务中。在BOM的window对象中,有这样的两个函数是用于设置定时器
setTimeout(function,delay);//设置延时多少毫秒执行该函数,只执行一次,返回值是一个id setInterval(function,delay);//设置间隔多少毫米一直执行该函数,执行多次,返回值是一个id
两者的区别就在于setTimeout方式只执行一次,而setInterval理论可以执行无数次,直到其被取消。
2、取消定时器
上面说过,在开启定时器会返回一个id,这个id是用来区别开启的多个定时器。当我们要取消定时器时,可以使用一下这两个方法。
clearTimeout(id);//取消由setTimeout方式开启的定时器 clearInterval(id);//取消由setInterval方式开启的定时器
3、循环调用setTimeout
在使用中,可以用setTimeout方式来实现setInterval的效果,其实这个让我想起了当初学Android是的Handler机制,发一个延时消息,然后在内容中再发出消息。例如:
<script> var t = 1; function time(){ console.log(t++); window.setTimeout('time()',1000); } window.setTimeout('time()',1000); </script>
4、倒计时案例
在页面上有一个按钮,显示的是倒计时的数字,每隔一秒修改数字,等到0秒时,就切换爆炸图片。
效果图
代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <link rel="stylesheet" href=""> </head> <body> <h1>炸弹效果</h1> <input type="button" value="5" /><br/> <img src="warn.jpg"/> </body> <script> //定时执行 function time(){ var input = document.getElementsByTagName('input')[0];//获取按钮中的数字 var time = parseInt(input.value) - 1; input.value = time; //爆炸操作 if(time <= 0){ var img = document.getElementsByTagName('img')[0]; img.src = 'boom.jpg';//切换爆照图片 clearInterval(t1);//清除定时器 } } var t1 = window.setInterval('time()',1000);//开启定时器 </script> </html>
思路
其实这个例子挺简单的,首先以每隔1秒开启定时器,在定时执行函数中每次获取当前倒计时的数字,然后进行减1操作,最后又赋值到按钮中,当数字小于或等于0秒时,就切换爆炸图片已达到爆炸效果,此时不要忘记取消定时器了。
以上就是关于千锋扣丁学堂HTML5培训之JavaScript定时器设置使用与倒计时案例详解的全部内容,希望本文所述对大家JavaScript程序设计有所帮助,想要了解更多关于HTML5开发方面内容的小伙伴,请关注扣丁学堂HTML5培训官网、微信等平台,扣丁学堂IT职业在线学习教育有专业的HTML5讲师为您指导