javascript计时器事件使用详解


Posted in Javascript onJanuary 07, 2014

在 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:
myVar=setInterval("javascript function",milliseconds);
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 相关文章推荐
js选取多个或单个元素的实现代码(用class)
Aug 22 Javascript
JavaScript中的noscript元素属性位置及作用介绍
Apr 11 Javascript
JavaScript DOM节点添加示例
Jul 16 Javascript
jQuery+css实现的换页标签栏效果
Jan 27 Javascript
JavaScript中的prototype原型学习指南
May 09 Javascript
JavaScript中的对象和原型(一)
Aug 12 Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 Javascript
jQuery插件zTree实现获取一级节点数据的方法
Mar 08 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
Sep 14 Javascript
JQuery实现ajax请求的示例和注意事项
Dec 10 jQuery
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
Apr 20 Javascript
express启用https使用小记
May 21 Javascript
javascript创建和存储cookie示例
Jan 07 #Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
Jan 07 #Javascript
window.showModalDialog()返回值的学习心得总结
Jan 07 #Javascript
js showModalDialog参数的使用详解
Jan 07 #Javascript
js showModalDialog弹出窗口实例详解
Jan 07 #Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
Jan 07 #Javascript
JS获取DropDownList的value值与text值的示例代码
Jan 07 #Javascript
You might like
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
js获取变量
2006/08/24 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
2014/10/30 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
2017/01/09 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
React Native 图片查看组件的方法
2018/03/01 Javascript
js使用ajax传值给后台,后台返回字符串处理方法
2018/08/08 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
一起深入理解js中的事件对象
2021/02/06 Javascript
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
关于python pyqt5安装失败问题的解决方法
2017/08/08 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
Python numpy 点数组去重的实例
2018/04/18 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
python 实现语音聊天机器人的示例代码
2018/12/02 Python
Python内置类型性能分析过程实例
2020/01/29 Python
Python的pygame安装教程详解
2020/02/10 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
英文简历中的自我评价用语
2013/12/09 职场文书
什么样的创业计划书可行性高?
2014/02/01 职场文书
毕业实习评语
2014/02/10 职场文书
会计演讲稿范文
2014/05/23 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
党员干部学法用法心得体会
2016/01/21 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python