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

JavaScript010

javaScript 中怎么延迟执行一个方法?,第1张

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 sleep(delay) { //delay:传入等待秒数

var start = (new Date()).getTime() //获取函数刚开始秒数

while ((new Date()).getTime() - start <delay) { //当当前时间减去函数刚开始时间小于等待秒数时,循环一直进行

continue

}

javascript提供了setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,因此延迟1秒后执行一个函数可以如下代码实现:

setTimeout("fun()",1000)   // fun()是自定义函数

下面实例演示:打开页面后倒计时3秒,然后弹出对话框

1、HTML结构

<div id="test">3</div>

2、javascript代码

function fun(n){

if(n>0){

n--

document.getElementById("test").innerHTML = n

setTimeout("fun("+n+")",1000)

}

else

alert("时间到!!")

}

window.onload = function(){

setTimeout("fun(3)",1000)

}

3、效果演示