javascript在执行函数之前等待特定的时间

时间:2014-06-18 07:21:42

标签: javascript

有没有办法延迟javascript中的函数我想做这样的事情:

function showLabel(){
    document.getElementById(id).show();
    wait(5000); //wait 5 sec
    document.getElementById(id).hide();
}

如果调用此函数,我想显示标签5秒,可能还有另一种方法。

注意:我无法使用jQuery

4 个答案:

答案 0 :(得分:1)

提示:使用setTimeout

window.setTimeout("javascript function", milliseconds);

阅读文档并了解如何操作:https://developer.mozilla.org/en/docs/Web/API/window.setTimeout

如果你想要睡觉之类的话:

function sleep(millis, callback) {
    setTimeout(function()
            { callback(); }
    , milliseconds);
}

我更喜欢:

function doStuff()
{
  //do some things
  setTimeout(continueExecution, 10000) //wait ten seconds before continuing
}

function continueExecution()
{
   //finish doing things after the pause
}

使用循环的另一种方法

<script type="text/javascript">
// bad implementation
function sleep(milliSeconds){
    var startTime = new Date().getTime(); // get the current time
    while (new Date().getTime() < startTime + milliSeconds); // hog cpu
}
</script>

答案 1 :(得分:1)

你可以试试这个:

function showLabel(){
    document.getElementById(id).show();
    setTimeout(function()
    {
        document.getElementById(id).hide();
    }, 5000);
}

setTimeout用于一次性任务,否则setInterval用于重复性任务。

答案 2 :(得分:0)

setTimeout(
    function(){ Your_function },  milliseconds
);

在给定时间结束后调用该函数。

答案 3 :(得分:0)

在javascript中使用setTimeout函数。并通过

清除函数调用的时间
var timerId = setTimeout(function showLabel(){
      document.getElementById(id).show();
        document.getElementById(id).hide();
    }, 5000);
 clearTimeout(timerId);