javascript计时器事件使用详解

时间:2024-05-08 09:38:58 

在 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计时器,计时器事件
0
投稿

猜你喜欢

  • MySQL应用技巧之内存使用线程独享

    2010-08-08 08:33:00
  • DreamweaverMX Ultradev探索:技巧荟萃

    2010-07-13 12:10:00
  • MySQL的数据库常用命令 超级实用版分享

    2012-01-05 18:58:00
  • javascript的var与let,const之间的区别详解

    2024-05-09 15:06:41
  • Django-silk性能测试工具安装及使用解析

    2023-12-08 08:53:19
  • 对比国内门户网站对Flash激活限制的处理

    2007-08-23 11:29:00
  • Mysql5.7.11在windows10上的安装与配置(解压版)

    2024-01-13 18:07:49
  • Oracle数据库及应用程序优化开发者网络Oracle

    2010-07-18 13:02:00
  • IE7异常CSS 导致内存破坏漏洞

    2009-11-30 12:52:00
  • Pandas数据分析固定时间点和时间差

    2022-03-05 20:24:07
  • Go语言学习笔记之错误和异常详解

    2024-02-05 11:39:15
  • python实现二维码扫码自动登录淘宝

    2022-09-22 07:18:02
  • python使用Matplotlib绘制多种常见图形

    2023-05-26 05:06:28
  • Python基于OpenCV实现人脸检测并保存

    2023-10-07 00:43:37
  • 存贮查询与运行时查询孰优孰劣?

    2009-11-01 15:13:00
  • js实现滑动进度条效果

    2023-08-24 03:47:39
  • 浅谈Python类中的self到底是干啥的

    2022-10-24 15:18:41
  • 将HTML表单数据存储为XML格式

    2007-08-23 13:04:00
  • 基于Python实现拆分和合并GIF动态图

    2021-09-09 18:05:57
  • Python解析并读取PDF文件内容的方法

    2021-07-13 20:06:21
  • asp之家 网络编程 m.aspxhome.com