X秒后执行JavaScript

时间:2011-11-24 05:35:45

标签: javascript html timer

我正在构建插页式广告页面,使用< div>和JavaScript,非常简单的脚本,但很整洁。

一切正常,但我也希望在几秒钟后关闭div(例如10秒)。这就是我到目前为止所做的:

  • 我有两个div,1和2。
  • 我有div 1的CSS设置,如:display:none; (div 1包含启动画面的内容)
  • Div 2是覆盖页面的图层,只留下div 1可见。

要加载div,我有一个这样的onload函数:

onload="document.getElementById('div1').style.display='block';document.getElementById('div2').style.display='block'"

为了隐藏div,我有一个onclick函数,如下所示:

<a href = "javascript:void(0)" onclick = "document.getElementById('div1').style.display='none';document.getElementById('div2').style.display='none'"></a>

如何使用计时器执行onclick功能,我该怎么办?它也必须是JavaScript。

3 个答案:

答案 0 :(得分:72)

我相信您正在寻找setTimeout功能。

要使代码更整洁,请在<script>块中为onclick定义一个单独的函数:

function myClick() {
  setTimeout(
    function() {
      document.getElementById('div1').style.display='none';
      document.getElementById('div2').style.display='none';
    }, 5000);
}

然后从onclick

调用您的函数
onclick="myClick();"

答案 1 :(得分:7)

setTimeout将帮助您根据设置的时间执行任何JavaScript代码。

语法

setTimeout(code, millisec, lang)

用法,

setTimeout("function1()", 1000);

有关详细信息,请参阅http://www.w3schools.com/jsref/met_win_settimeout.asp

答案 2 :(得分:4)

onclick = "setTimeout(function() { document.getElementById('div1').style.display='none';document.getElementById('div2').style.display='none'}, 1000)"

将1000更改为您想要延迟的毫秒数。