js setInterval和setTimeout用法分析

栏目: 编程语言 发布于: 2014-05-06 08:30:21

本文主要分享一下javascript中的两个定时执行函数setInterval和setTimeout的用法。

setInterval() 定义和用法

setInterval() 方法可按照指定的周期(以毫秒计)来执行函数或表达式。该方法会不停地循环调用函数,直到使用 clearInterval() 明确停止该函数或窗口被关闭。clearInterval() 函数的参数即 setInterval() 返回的 ID 值。

语法

setInterval(code,millisec[,"lang"])

code 必需。要调用的函数或要执行的代码串。

millisec 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。

返回值

一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。

使用示例:

<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<input type="text" id="clock" size="35" />
<script language=javascript>
var int=setInterval("clock()",50);
function clock(){
	var t=new Date();
	document.getElementById("clock").value=t;
}
</script>
</form>
<button onclick="window.clearInterval(int)">
停止 interval 事件</button>
</body>
</html>

setTimeout() 定义和用法

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,该方法与 setInterval() 方法不同的是该方法只执行一次。

语法

setTimeout(code,millisec)

code 必需。要调用的函数后要执行的 JavaScript 代码串。

millisec 必需。在执行代码前需等待的毫秒数,以毫秒计。

提示:

(1)setTimeout() 虽然是只执行一次代码。但如果许要多次调用,除了使用 setInterval() 外还可以让被执行的代码里面自身再次调用 setTimeout() 方法已达到多次执行的目的。

(2)另外setTimeout()方法也同样可以返回一个ID值,以方便使用clearInterval()方法对使用setTimeout()方法的取消。

使用示例:

<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<script type="text/javascript">
function timedMsg(){
	var t=setTimeout("alert('3 秒时间到!')",3000);
}
function timedMsgAways(){
	alert('3 秒时间到!');
	var t=setTimeout("timedMsgAways()",3000);
}
</script>
</head>
<body>
<form>
<input type="button" value="3 秒后警告" onClick="timedMsg()"><br />
<input type="button" value="循环 3 秒警告" onClick="timedMsgAways()">
</form>
</body>
</html>

对于这两个方法,需要注意的是如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。

您可能感兴趣的文章

  • select into from 提示 Undeclared variable.....错误的解决办法
  • setTimeout不支持$(this)等其他jquery选择器的解决办法
  • Fatal error Call to undefined function date_default_timezone_set()
  • 网页缓存控制 Cache-control 常见的取值有private、no-cache、max-age、must-revalidate 介绍
  • PHP中跳出多重循环使用break,continue,goto,return,exit的用法和区别
  • php中echo,print,print_r,var_export,var_dump 的用法与区别
  • phpMyAdmin Cannot start session without errors错误解决办法
  • js number string转换
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。
转载请注明:文章转载自 [http://www.php230.com]
本文标题:js setInterval和setTimeout用法分析
IT技术书籍推荐:
PHP编程(第3版)
PHP编程(第3版)
凯文·塔特罗 (Kevin Tatroe) (作者), 彼得·麦金太尔 (Peter MacIntyre) (作者), 拉斯马斯·勒多夫 (Rasmus Lerdorf) (作者), 赵戈戈 (译者), 易国磐 (译者), 张鹏飞 (译者)
这是一本可以让读者深入了解PHP 技术的书籍,作者用言简意赅的语言并结合了大量实例来解释每一个要素。本书涵盖了PHP 所有基本的要点,不管你是一个想从头开始学习PHP的人,还是对PHP 已经有了基础想继续深入的人,这本书都很合适。
最新互联网资讯