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 相关文章推荐
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
Feb 27 Javascript
jquery简单实现鼠标经过导航条改变背景图
Dec 17 Javascript
js中style.display=&quot;&quot;无效的解决方法
Oct 30 Javascript
对于jQuery性能的一些优化建议
Aug 13 Javascript
基于JavaScript实现动态添加删除表格的行
Feb 01 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
Nov 02 Javascript
详解Vue.js搭建路由报错 router.map is not a function
Jun 27 Javascript
Django+Vue.js搭建前后端分离项目的示例
Aug 07 Javascript
JavaScript学习笔记之惰性函数示例详解
Aug 27 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
Dec 25 jQuery
vue 项目 iOS WKWebView 加载
Apr 17 Javascript
详解Javascript实践中的命令模式
May 05 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
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
nodejs实现获取当前url地址及url各种参数值
2015/06/25 NodeJs
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
ES6解构赋值实例详解
2017/10/31 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
Python打印斐波拉契数列实例
2015/07/07 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
用Python实现读写锁的示例代码
2018/11/05 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
如何用Python徒手写线性回归
2021/01/25 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
TUMI澳大利亚网站:美国旅行箱包品牌
2017/03/27 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
JSF的标签库有哪些
2012/04/27 面试题
旅游管理专业大学生职业规划书
2014/02/27 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
2014年生活老师工作总结
2014/12/23 职场文书
个人先进事迹材料
2014/12/29 职场文书
小学新教师个人总结
2015/02/05 职场文书
2016年元旦致辞
2015/08/01 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB