X 秒后执行 JavaScript

IT技术 javascript html timer
2021-03-17 07:46:21

我正在构建一个插页式页面,使用 <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个回答

我相信您正在寻找setTimeout函数。

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

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

然后从 onclick

onclick="myClick();"
我不明白,你刚刚说你是在onclick中做的?我们错过了什么吗?
2021-05-06 07:46:21
第二。如何在不必使用 onclick、onload 等的情况下执行 myClick 函数。我想同时启动该函数 O 加载代码
2021-05-07 07:46:21
老问题,但最好的解决方案是 - 在脚本标签中插入 ``` myclick();``` 这将在文档开始加载时自动触发 myclick 函数,并且作为函数的定义,它将在 5 秒后执行
2021-05-14 07:46:21

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

句法

setTimeout(code, millisec, lang)

用法,

setTimeout("function1()", 1000);

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

请注意,使用重载来提供使用字符串的函数被认为是不好的做法。你最好不要使用setTimeout(function1, 1000);setTimeout(function() { function1(); }, 1000);setTimeout(() => function1(), 1000);根据性质this的引用function1另外,我更喜欢使用MDN 的setTimeout文档
2021-05-01 07:46:21
onclick = "setTimeout(function() { document.getElementById('div1').style.display='none';document.getElementById('div2').style.display='none'}, 1000)"

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

非常感谢你。它对我有很大帮助:)
2021-05-16 07:46:21