2013-12-13 84 views
0

这里我试图用6秒的延迟执行JavaScript函数。 我正在执行身体onload的JavaScript函数。我无法得到如何执行功能执行的五个延迟...如何延迟javascript函数的执行

我该怎么做?

这里是我的JavaScript片段

代码:

function hideDiv() { 
    if (document.getElementById) { 
     document.getElementById('div').style.visibility = 'hidden'; 
    } 
} 

功能hideDiv 6秒后

+0

可能重复http://stackoverflow.com/questions/758688/ sleep-in-javascript) –

+0

仅供参考,没有理由做'if(document.getElementById)'。该函数存在于当前正在使用的每个浏览器中,因此没有理由检查它。 – jfriend00

回答

2

您使用setTimeout安排一个JavaScript函数在未来有时候也应该执行。

setTimeout(hideDiv, 6000); 

参见setTimeout()MDN for documentation。第一个参数是对您希望执行的函数的引用。第二个参数是毫秒的延迟。


请记住,这不会阻止执行此语句后出现的其他javascript。这将继续立即执行。它将安排该特定功能在未来的规定时间自行运行。所以,这不像其他语言中的sleep()。它不会停止执行6秒。相反,它会安排此特定功能稍后运行,但会继续执行其余的JavaScript。

所以,如果你有这样的代码:

setTimeout(hideDiv, 6000); 
document.getElementById("hello").style.color = "red"; 

颜色会立即改变,hideDiv()将在6秒内被调用。

1

试试这个:

setTimeout(functionName,5000); 
0

使用setTimeout功能,像这样:

setTimeout(hideDiv, 6000); 
[在Javascript睡眠(中