关于JavaScript的window对象的计时器
来源:互联网 发布:java 命名 下划线开头 编辑:程序博客网 时间:2024/06/06 10:55
setTimeou和clearTimeout
代码示例一如下:<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus?"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>window对象的计时器</title> </head><script type="text/javascript"><!--/*window对象的计时器:1.setTimeout(): 隔一段时间调用某个函数(只调用一次),返回的是一个计时器(理解成一个手表) clearTimeout() :销毁由setTimeout()产生的计时器*/var t ; var t1 ;function fun(){//拿到p标签的主体内容var p= document.getElementById("p") ;var v = p.innerHTML ;//将主体内类转换为number,转换后赋值回去p.innerHTML = v*1-1 ;}t = setTimeout("fun()",1000) ;function fun2(){clearTimeout(t) ;}//--></script> <body> <p id = "p">10</p><br> <input type="button" value="演示setTimeout方法" onclick="fun()"> <input type="button" value="演示clearTimeout方法" onclick="fun2()"> </body></html>
代码分析如下:
由上述代码,我们可以知道:当执行t = setTimeout("fun()",1000) ;时
那么计时器会倒计时,当计时满1000ms时,那么就会执行fun()函数一次,
之后计时器就自行销毁,不再计时,那么fun()函数也就只会执行一次,就
不再继续执行;当然我们每按一次按钮“演示setTimeout方法”,其也只会执行一次
代码示例二如下:
<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus?"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>window对象的计时器</title> </head><script type="text/javascript"><!--/*window对象的计时器:1.setTimeout(): 隔一段时间调用某个函数(只调用一次),返回的是一个计时器(理解成一个手表) clearTimeout() :销毁由setTimeout()产生的计时器*/var t ; var t1 ;function fun(){//拿到p标签的主体内容var p= document.getElementById("p") ;var v = p.innerHTML ;//将主体内类转换为number,转换后赋值回去p.innerHTML = v*1-1 ;t = setTimeout("fun()",1000) ;}function fun2(){clearTimeout(t) ;}//--></script> <body> <p id = "p">10</p><br> <input type="button" value="演示setTimeout方法" onclick="fun()"> <input type="button" value="演示clearTimeout方法" onclick="fun2()"> </body></html>
代码分析如下:
在这段代码中,我们把t = setTimeout("fun()",1000) ;放置在了fun()函数里边,那么,当我们按下按钮“演示setTimeout方法”时,就会执行fun()函数,进入fun()函数后,
在函数的后边就会执行t = setTimeout("fun()",1000) ;这条语句,在执行这条语句时,
先倒计时1000ms,当时间计时满了1000ms之后,就会执行fun()这个函数了,那么之前的
那个计时器也就自行销毁,可是,在执行fun()这个函数时,由于t = setTimeout("fun()",1000) ;
这条语句现在是fun()这个函数的一部分,所以其会再次被执行,重复上述动作,所以我们看到的
效果就是数字会一秒一秒往下减;此时,我们可以通过点击“演示clearTimeout方法”按钮,使用
clearTimeout(t) ;将其新产生的计时器给销毁掉,这样数字也就停止继续减下去了
setInterval和clearInterval
代码示例如下:<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus?"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>window对象的计时器</title> </head><script type="text/javascript"><!--/*window对象的计时器: setInterval(): 每隔一段时间调用某个函数(多次调用) clearInterval(): 销毁由setInterval()产生的计时器*/var t1 ;function fun1(){//拿到p标签的主体内容var p= document.getElementById("p") ;var v = p.innerHTML ;//将主体内类转换为number,转换后赋值回去p.innerHTML = v*1-1 ;}t1 = setInterval("fun1()",1000);function fun3(){clearInterval(t1) ;}function fun4(){t1 = setInterval("fun1()",1000);}//--></script> <body> <p id = "p">10</p><br> <input type="button" value="演示setInterval方法" onclick="fun4()"> <input type="button" value="演示clearInterval方法" onclick="fun3()"> </body></html>
代码分析如下:
在这个示例中,开始就会执行t1 = setInterval("fun1()",1000);这条语句,
等计时器计数到达1000ms之后,fun1()函数就会执行,计时器不会自行销毁,
又重新开始计时,满1000ms之后,又重新执行fun1()函数,此时,我们会看到
数字一直在减,若此时,我们按一下“演示clearInterval方法”按钮,那么,其就会
被销毁,也就可以看到数字停止减下去的效果。当我们按下“演示setInterval方法”时,
那么就会开始调用fun1()函数,又可以重新看到数字自动减下去的效果,当我们按下
“演示clearInterval方法”按钮时,由于t1是全局变量,所以数字就会停止减下去。
0 0
- 关于JavaScript的window对象的计时器
- window对象--JavaScript 计时器
- javascript 内置对象 - window & 计时器
- JavaScript的Window对象
- Javascript的window对象
- javascript的window对象
- JavaScript浏览器对象、window对象、计时器、history对象、location对象
- 关于JavaScript的window对象的opener及parent属性
- 关于JavaScript的window对象的status属性
- 关于JavaScript的window对象的三种对话框
- 关于JavaScript的window对象的open和close方法
- javascript中关于window对象属性的全面介绍
- Javascript:window对象的方法
- Javascript:window对象的方法
- javascript 中 window 的对象
- 解读javascript的计时器
- JavaScript的计时器
- Javascript:计时器的使用
- 关于JavaScript的window对象的status属性
- C++primer第五版笔记-第十二章动态内存
- 关于JavaScript的window对象的三种对话框
- 关于JavaScript的window对象的open和close方法
- JS类的封装及实现代码【转】
- 关于JavaScript的window对象的计时器
- 1068 乌龟棋
- 关于JavaScript的history对象的方法的使用
- QQ邮箱数据库设计
- Kendo UI Professional Q3 2015正式发布[附下载]
- 关于JavaScript的鼠标移动事件
- Java中图片按质量压缩
- 关于JavaScript的location对象的使用
- 关于在JavaScript调用css的两种方式