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 相关文章推荐
document.open() 与 document.write()的区别
Aug 13 Javascript
js工具方法弹出蒙版
May 08 Javascript
js定时器怎么写?就是在特定时间执行某段程序
Oct 11 Javascript
利用javascript判断文件是否存在
Dec 31 Javascript
AngularJS中的模块详解
Jan 29 Javascript
JavaScript中三种异步上传文件方式
Mar 06 Javascript
JavaScript禁止复制与粘贴的实现代码
May 16 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
Jun 06 Javascript
js获取指定字符前/后的字符串简单实例
Oct 27 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
Dec 07 Javascript
vue实现条件叠加搜索的解决方法
May 28 Javascript
微信内置浏览器图片查看器的代码实例
Oct 08 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
56.com视频采集接口程序(PHP)
2007/09/22 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
2013/05/30 Javascript
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
使用D3.js+Vue实现一个简单的柱形图
2018/08/05 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
python比较2个xml内容的方法
2015/05/11 Python
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
python中的decimal类型转换实例详解
2019/06/26 Python
python实现批量文件重命名
2019/10/31 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
使用python创建生成动态链接库dll的方法
2020/05/09 Python
医药工作者的求职信范文
2013/09/21 职场文书
年度考核自我评价
2014/01/25 职场文书
办公室主任主任岗位责任制
2014/02/11 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
学习党章的体会
2014/11/07 职场文书
人事局接收函
2015/01/30 职场文书
董事长岗位职责
2015/02/13 职场文书
世界遗产的导游词
2015/02/13 职场文书
高二化学教学反思
2016/02/22 职场文书
技术入股合作协议书
2016/03/21 职场文书