javaScript 中怎么延迟执行一个方法?
setTimeout("test()","2000"); //2000毫秒后执行test()函数,只执行一次。setInterval("test()","2000"); //每隔2000毫秒执行一次test()函数,执行无数次。
扩展资料:
1、setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
2、语法:setTimeout(function, milliseconds, param1, param2, ...)。
3、提示: 1000 毫秒= 1 秒。
4、提示: 如果你只想重复执行可以使用 setInterval() 方法。
5、提示: 使用 clearTimeout() 方法来阻止函数的执行。
6、所需参数1:code/function,必需。要调用一个代码串,也可以是一个函数。
7、所需参数2:milliseconds可选。执行或调用 code/function 需要等待的时间,以毫秒计。默认为 0。
8、所需参数3:param1, param2, ...,可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。
9、返回值:返回一个 ID(数字),可以将这个ID传递给 clearTimeout() 来取消执行。
10、实例:var myWindow=window.open("","","width=200,height=100");myWindow.document.write("<p>这是一个新窗口'</p>");setTimeout(function(){ myWindow.close() }, 3000);
function test() {
alert("test");
}
setTimeout(test, 1000);
其中,setTimeout为延迟执行方法,是JS原生的方法
第一个参数为函数名,第二个参数为延迟时间,单位毫秒。
定时和延时执行函数:
有两种方法,setInterval(function,time)和setTimeout(function,time),function是要执行的函数,time是要延迟的时间。虽然这两种方法都可以实现,但他们的实现原理是不同的,setTimeout是一个延迟方法,它会让函数延迟一段时间执行,这个函数只执行一次,不过我们使用递归调用,就可以做到定时执行函数,如:
function al(){
alert("that's ok");
setTimeout(al,1000);
}
如果我们用setInterval就不需要这样了,如下:
function bl(){
alert("ok");
}
setInterval(bl,1000);
拓展资料
两种延迟方法的介绍:
setTimeout
定义和用法: setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。
语法: setTimeout(code,millisec)
参数: code (必需):要调用的函数后要执行的 JavaScript 代码串。millisec(必需):在执行代码前需等待的毫秒数。 提示: setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。
setInterval
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
语法: setInterval(code,millisec[,"lang"])
参数: code 必需。要调用的函数或要执行的代码串。millisec 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。
返回值: 一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。
alert("test");
}
setTimeout(test, 1000);
其中,setTimeout为延迟执行方法,是JS原生的方法
第一个参数为函数名,第二个参数为延迟时间,单位毫秒
希望对您有帮助~
By Billskate
只有setTimeout(fun,time);
只延后time毫秒执行fun.
setTimeout后面的语句并不会延时执行.
如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。
<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 bedisplayed after 5 seconds.</p>
</body>
</html>