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给页面加style无效果的解决方法
Jan 20 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
Sep 21 Javascript
浅谈JavaScript function函数种类
Dec 29 Javascript
js Calender控件使用详解
Jan 05 Javascript
jQuery ajax MD5实现用户注册即时验证功能
Oct 11 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
Oct 13 Javascript
微信小程序 教程之WXSS
Oct 18 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
Feb 12 Javascript
JS非空验证及邮箱验证的实例
Aug 11 Javascript
详解Vue如何支持JSX语法
Nov 10 Javascript
vue本地打开build后生成的dist文件夹index.html问题
Sep 04 Javascript
react组件基本用法示例小结
Apr 27 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
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
PHP时间类完整代码实例
2021/02/26 PHP
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
简介BootStrap model弹出框的使用
2016/04/27 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
python设置windows桌面壁纸的实现代码
2013/01/28 Python
决策树的python实现方法
2014/11/18 Python
Python书单 不将就
2017/07/11 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
解决Django连接db遇到的问题
2019/08/29 Python
python修改FTP服务器上的文件名
2019/09/11 Python
基于torch.where和布尔索引的速度比较
2020/01/02 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
护理专业学生的求职信范文
2013/12/11 职场文书
《守株待兔》教学反思
2014/03/01 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android