You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

网页打开16秒后触发三个alert:setTimeout放置位置及实现咨询

实现16秒后触发三个Alert弹窗的方案

别担心,这个需求其实非常简单,而且完全不会受你页面里的背景视频影响~

核心实现思路

我们只需要用JavaScript的setTimeout()函数来延迟执行一段代码,这段代码里依次触发三个alert()弹窗就可以了。因为alert()是阻塞式的,所以第一个弹窗关闭后才会弹出第二个,以此类推。

代码示例

直接用下面这段代码就能完成需求:

// 延迟16秒(16000毫秒)执行回调函数
setTimeout(() => {
  alert('第一个提示');
  alert('第二个提示');
  alert('第三个提示');
}, 16000);

setTimeout的放置位置

推荐把这段代码放在HTML文档的**</body>标签之前**,也就是页面内容的最后面,这样做的好处是:

  • 不会阻塞页面的渲染加载,用户能正常看到背景视频和其他内容
  • 不需要额外处理页面加载事件,代码直接就能运行

示例HTML结构:

<body>
  <!-- 这里是你的页面内容,包括背景视频的标签 -->
  <video src="your-background-video.mp4" autoplay loop muted></video>
  
  <!-- 把定时器脚本放在这里 -->
  <script>
    setTimeout(() => {
      alert('第一个弹窗');
      alert('第二个弹窗');
      alert('第三个弹窗');
    }, 16000);
  </script>
</body>

如果一定要把代码放在<head>标签里,那最好包裹在DOMContentLoaded事件监听里,确保页面加载完成后再启动定时器(不过其实弹alert不需要等页面元素,只是更稳妥的写法):

<head>
  <script>
    // 等页面DOM加载完成后再执行
    document.addEventListener('DOMContentLoaded', () => {
      setTimeout(() => {
        alert('第一个弹窗');
        alert('第二个弹窗');
        alert('第三个弹窗');
      }, 16000);
    });
  </script>
</head>

关于背景视频的说明

你页面里的背景视频完全不会干扰这个定时器的执行,因为JavaScript的定时器和媒体播放是浏览器分开处理的任务,只要视频是正常嵌入的(比如用<video>标签),就不会影响代码逻辑。

内容的提问来源于stack exchange,提问作者B.Ashcroft

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:19:12