javaScript 中怎么延迟执行一个方法?

 我来答
百度网友ea32d69
2018-12-04 · TA获得超过1018个赞
知道答主
回答量:14
采纳率:0%
帮助的人:2042
展开全部

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);

劍指長空明德
2018-08-12 · TA获得超过1.5万个赞
知道答主
回答量:47
采纳率:100%
帮助的人:2.1万
展开全部

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 的周期性执行的值。



本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yzy_130
2012-06-25 · TA获得超过810个赞
知道小有建树答主
回答量:402
采纳率:0%
帮助的人:493万
展开全部
function test() {
alert("test");
}
setTimeout(test, 1000);

其中,setTimeout为延迟执行方法,是JS原生的方法
第一个参数为函数名,第二个参数为延迟时间,单位毫秒

希望对您有帮助~
By Billskate
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
愚人陈
2012-06-27 · TA获得超过713个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:180万
展开全部
阻塞性的延时没有.
只有setTimeout(fun,time);
只延后time毫秒执行fun.

setTimeout后面的语句并不会延时执行.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玛尼啊玛尼
2012-06-27 · 超过11用户采纳过TA的回答
知道答主
回答量:61
采纳率:100%
帮助的人:34.4万
展开全部
setTimeout() 只执行 code 一次。
如果要多次调用,请使用 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>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式