http://xiangai.taobao.com
http://shop148612228.taobao.com

setInterval 和 setTimeout

<script type="text/javascript"> $(function () {     function setWidth() {  $("#targetcon").css({ width: $("#divcon").width()-50 + "px" });     }     setWidth();     setInterval(setWidth, 50); }) </script>
要想知道它们是怎么停止的,首先我们要了解它们的运行机制和原理:

先来了解 setInterval :

--------------------------------------------------------------------------------------------------------

1,HTML DOM setInterval() 方法


定义和用法
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

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

参数 描述
code 必需。要调用的函数或要执行的代码串。
millisec 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。


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

---------------------------------------------------

2,HTML DOM clearInterval()方法

定义和用法
clearInterval() 方法可取消由 setInterval() 设置的 timeout。

clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。

语法
clearInterval(id_of_setinterval)

参数 描述
id_of_setinterval 由 setInterval() 返回的 ID 值。


如何停止:

下面这个例子将每隔 50 毫秒调用 clock() 函数。您也可以使用一个按钮来停止这个 clock:

<html>
<body>

<input type="text" id="clock" size="35" />
<script language=javascript>
var int=self.setInterval("clock()",50)
function clock()
{
var t=new Date()
document.getElementById("clock").value=t
}
</script>
</form>
<button onclick="int=window.clearInterval(int)">
Stop interval</button>

</body>
</html>

--------------------------------------------------------------------------------------------------------

再来了解 setTimeout :

1,HTML DOM setTimeout() 方法

定义和用法
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

语法
setTimeout(code,millisec)

参数 描述
code 必需。要调用的函数后要执行的 JavaScript 代码串。
millisec 必需。在执行代码前需等待的毫秒数。


提示和注释
提示:setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

实例,这个例子,在你点击按钮 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>
<p>Click on the button above. An alert box will be
displayed after 5 seconds.</p>
</body>

</html>
-----------------------------
2,HTML DOM clearTimeout() 方法
定义和用法clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout。语法clearTimeout(id_of_settimeout)



参数 描述
id_of_setinterval 由 setTimeout() 返回的 ID 值。该值标识要取消的延迟执行代码块。



实例下面的例子每秒调用一次 timedCount() 函数。您也可以使用一个按钮来终止这个定时消息:<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 setTimeout

 

posted @ 2011-12-16 22:10  万事俱备就差个程序员  阅读(437)  评论(0编辑  收藏  举报

http://xiangai.taobao.com
http://shop148612228.taobao.com
如果您觉得对您有帮助.领个红包吧.谢谢.
支付宝红包
微信打赏 支付宝打赏