1

I wont to run a block of code in a certain amount of time and then when done, carry on with another block of code.

4

6 回答 6

2

使用 setTimeout() 可能是您想要的。例如...

<script type="text/javascript">
    function YourFunction()
    {
        alert('Hello Stackoverflow');
    }

    window.setTimeout(YourFunction, 1000);
</script>

希望能帮助到你

于 2009-06-14T00:43:04.123 回答
2

这就是您将如何使用该setTimeout函数来执行此操作的方法,该函数将要调用的代码作为第一个参数以及在将其作为第二个参数调用之前应该等待多长时间(以毫秒为单位):

function callWhenDone() {
    // code to call when timeout finishes
}

setTimeout(function() {
    // initial code to run
    callWhenDone();
}, 5000); // 5000 = run in 5 seconds

由于 Javascript 的性质,您必须将要在超时完成后运行的代码封装在其自己的函数中,否则它将在超时完成之前运行。这本质上是一个回调,它是 Javascript 基于事件的本质的重要组成部分。

于 2009-06-14T00:54:10.807 回答
0

You'll want to use the setTimeout() function.

于 2009-06-13T18:02:16.287 回答
0

setTimeout - executes code after a time interval

clearTimeout - cancels the setTimeout()

More details here.

于 2009-06-13T18:09:09.733 回答
0

使用setTimeout.

setTimeout(function() {
    // code here
    // you can use it recursively
    //   setTimeout(...);
  },
  1000 // 1000 miliseconds (= 1 second)
);

setInterval一样setTimeout,除了它重复重复一个代码。

于 2010-04-03T03:15:04.210 回答
0
<script type="text/javascript">

var timer = setInterval("firstFunction()","1000"); //every second call firstFunction()
var i = 0;

function firstFunction()
{

    //first code

    i++;
    if(i == 3)
    {
        clearInterval(timer);
        secondFunction();
    }
}

function secondFunction()
{
    //second code
    alert("done!");
}

</script>
于 2010-04-03T03:43:10.807 回答