如何在jQuery中使用 setInterval,setTimeout
方法1.
应用jQuery的扩展可以解决这个问题。
$(document).ready(function(){
$.extend({
show:function(){
alert("ready");
}
});
setInterval("show()",3000);
});
方法2.
指定定时执行的函数时不要使用引号和括号。
$(function(){
function
show(){
alert("ready");
}
setInterval(show,3000);//
注意函数名没有引号和括弧!
//
使用setInterval("show()",3000);会报“缺少对象”
});
区别:
setTimeout()
从载入后延迟指定的时间去执行一个表达式或者是函数;
仅执行一次 ;和window.clearTimeout一起使用.
setInterval()
在执行时,它从载入页面后每隔指定的时间执行 一个表达式或者是函数;(功能类似于递归函数);和window.clearInterval一起使用.
补充说明:
这两个方法都可以用来实现在一个固定
时间段之后去执行JavaScript。不过两者各有各的应用场景。
方
法
实际上,setTimeout和
setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是
以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。
不过这两个函数还是有区别的,
setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代
码,而setTimeout只执行一次那段代码。
虽然表面上看来setTimeout只能应用在on-off方式的动作上,不过可以通
过创建一个函数循环重复调用setTimeout,以实现重复的操作:
showTime();
function
showTime()
{
var
today
=
new
Date();
alert("The
time
is:
"
+
today.toString
());
setTimeout("showTime()",
5000);
}
一旦调
用了这个函数,那么就会每隔5秒钟就显示一次时间。如果使用setInterval,则相应的代
码如下所示:
setInterval
("showTime()",
5000);
function
showTime()
{
var
today
=
new
Date();
alert("The
time
is:
"
+
today.toString
());
}