本篇内容介绍了“javascript的定时器有哪几种”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
javascript里的定时器有两种:1、单次定时器,使用setTimeout()方法定义,可以在规定时间(以毫秒计)过后执行一次代码块;2、循环定时器,使用setInterval()方法定义,按照指定的周期(以毫秒计)来重复执行某些代码。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
在 JavaScript 中,我们可以利用定时器来延迟执行某些代码,或者以固定的时间间隔重复执行某些代码。例如,您可以使用定时器定时更新页面中的广告或者显示一个实时的时钟等。
JavaScript 中提供了两种定时器:setTimeout() 和 setInterval()
方法 | 说明 |
---|---|
setTimeout() | 在指定的时间后(单位为毫秒),执行某些代码,代码只会执行一次 |
setInterval() | 按照指定的周期(单位为毫秒)来重复执行某些代码,定时器不会自动停止,除非调用 clearInterval() 函数来手动停止或着关闭浏览器窗口 |
setTimeout()
JS setTimeout() 函数用来在指定时间后执行某些代码,代码仅执行一次。
使用方法:
setTimeout(code,millisec)
code 必需。要调用的函数后要执行的 JavaScript 代码串。
millisec 必需。在执行代码前需等待的毫秒数。
实例:
<html> <head> <meta charset="utf-8" /> </head> <body> <button id="button" onclick="click1()">获取验证码</button> <span id="span"></span> <script> var time = 10; var num; var button = document.getElementById("button"); var span = document.getElementById("span"); function click1() { //click是关键字,所有函数名改为click1 if (time == 0) { button.disabled = false; time = 10; span.innerHTML = ""; clearTimeout(num); } else { button.disabled=true; span.innerHTML = time + "秒后重新获得返回值"; time--; num = setTimeout("click1()",1000); } } </script> </body> </html>
setInterval()
JS setInterval() 函数可以定义一个能够重复执行的定时器,每次执行需要等待指定的时间间隔。
使用方法:
setInterval(code,millisec[,"lang"])
code 必需。要调用的函数或要执行的代码串。
millisec 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。
实例:
<html> <head> <meta charset="utf-8" /> </head> <body> <button id="button" onclick="set()">获取验证码</button> <span id="span"></span> <script> var time = 10; var num; var button = document.getElementById("button"); var span = document.getElementById("span"); function set() { num = setInterval("click()", 1000); button.disabled = true; } function click() { if (time == 0) { button.disabled = false; time = 10; span.innerHTML = ""; clearInterval(num); } else { span.innerHTML = time + "秒后重新获得返回值" time--; } } </script> </body> </html>
“javascript的定时器有哪几种”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。