JavaScript 计时事件
JavaScript 计时事件
通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。
在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:
-
setTimeout()
-
clearTimeout()
- 取消setTimeout()
setTimeout()
语法
var t=setTimeout("javascript语句",毫秒)
setTimeout() 方法会返回某个值。在上面的语句中,值被储存在名为 t 的变量中。假如你希望取消这个 setTimeout(),你可以使用这个变量名来指定它。
setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg()"。
第二个参数指示从当前起多少毫秒后执行第一个参数。
提示:1000 毫秒等于一秒。
实例
当下面这个例子中的按钮被点击时,一个提示框会在5秒中后弹出。
<html> <head> <script type="text/javascript"> function timedMsg() { var t=setTimeout("alert('5 seconds!')",5000) } </script> </head> <body> <form> <input type="button" value="Display timed alertbox!" onClick="timedMsg()"> </form> </body> </html>
实例 - 无穷循环
要创建一个运行于无穷循环中的计时器,我们需要编写一个函数来调用其自身。在下面的例子中,当按钮被点击后,输入域便从 0 开始计数。
<html> <head> <script type="text/javascript"> var c=0 var t function timedCount() { document.getElementById('txt').value=c c=c+1 t=setTimeout("timedCount()",1000) } </script> </head> <body> <form> <input type="button" value="Start count!" onClick="timedCount()"> <input type="text" id="txt"> </form> </body> </html>
clearTimeout()
语法
clearTimeout(setTimeout_variable)
实例
下面的例子和上面的无穷循环的例子相似。唯一的不同是,现在我们添加了一个 "Stop Count!" 按钮来停止这个计数器:
<html> <head> <script type="text/javascript"> var c=0 var t function timedCount() { document.getElementById('txt').value=c c=c+1 t=setTimeout("timedCount()",1000) } function stopCount() { clearTimeout(t) } </script> </head> <body> <form> <input type="button" value="Start count!" onClick="timedCount()"> <input type="text" id="txt"> <input type="button" value="Stop count!" onClick="stopCount()"> </form> </body> </html>
另外两个重要的方法:
setInterval()
- setInterval() - executes a function, over and over again, at specified time intervals
作用是:循环执行一个方法,在规定的间隔时间内
window.setInterval("javascript function",milliseconds);
说明:第一个参数必须是一个函数,第二个参数是执行函数的间隔时间.
实例:
<html> <script type="text/javascript"> setInterval(function() {alert("hello")},500); </script> </html>
说明:上面例子,执行效果是说每隔500ms就alert("hello");
再来一个时钟:
<html> <body> <p id="demo" ></p> <script type="text/javascript"> setInterval(function(){ myTimer()},1000); function myTimer(){ var d = new Date(); var t=d.toLocaleTimeString(); document.getElementById('demo').innerHTML=t; } </script> </body> </html>
如何停止,setInterval()方法??
window.clearInterval()
语法:
window.clearInterval(intervalVariable)
The window.clearInterval() method can be written without the window prefix.
To be able to use the clearInterval() method, you must use a global variable when creating the interval method:
Then you will be able to stop the execution by calling the clearInterval() method.
实例:
<html> <body> <p id="demo" ></p> <p id="demo2" onclick="stop()">stop</p> <script type="text/javascript"> var temp=setInterval(function(){ myTimer()},1000); function myTimer(){ var d = new Date(); var t=d.toLocaleTimeString(); document.getElementById('demo').innerHTML=t; } function stop(){ <html> <body> <p id="demo" ></p> <p id="demo2" onclick="stop()">stop</p> <script type="text/javascript"> var temp=setInterval(function(){ myTimer()},1000); function myTimer(){ var d = new Date(); var t=d.toLocaleTimeString(); document.getElementById('demo').innerHTML=t; } function stop(){ clearInterval(temp); } </script> </body> </html> } </script> </body> </html>
相关文章
- 【说站】javascript中for...of循环的原理
- JavaScript基本包装类型
- javascript 怎么阻止事件冒泡
- JavaScript刷LeetCode拿offer之失败-滑动窗口
- 比 Node.js 快三倍,新 JavaScript 运行时 Bun 火了
- Day5 JavaScript(三)事件、表单验证以及初识jQuery详解编程语言
- JavaScript指导方针
- Javascript循环绑定事件的示例代码
- IE和Firefox下javascript的兼容写法小结
- 小议javascript设计模式推荐
- javascript键盘事件总结推荐
- javascript开发中使用onpropertychange,oninput事件解决onchange事件的不足
- JavaScript入门之事件、cookie、定时等
- javascript中onmouse事件在div中失效问题的解决方法
- javascript事件处理程序介绍
- JavaScript包装对象使用介绍
- javascript实现des解密加密全过程
- Javascript中创建自定义对象的方法汇总
- javascript实现切换td中的值
- 浅谈JavaScript实现面向对象中的类
- 纯JavaScript实现获取onclick、onchange等事件的值
- JavaScript中的数组特性介绍
- javascript中2个感叹号的用法实例详解