X秒后执行JavaScript

Pau*_*elo 43 html javascript 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'"
Run Code Online (Sandbox Code Playgroud)

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

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

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

Str*_*lok 80

我相信你正在寻找setTimeout函数.

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

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

然后调用你的函数 onclick

onclick="myClick();"
Run Code Online (Sandbox Code Playgroud)


Sel*_*amy 7

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

句法

setTimeout(code, millisec, lang)
Run Code Online (Sandbox Code Playgroud)

用法,

setTimeout("function1()", 1000);
Run Code Online (Sandbox Code Playgroud)

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


Dog*_*ert 5

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

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