javascript - 如何在特定时间无交互后显示弹出窗口
问题描述
当页面打开时,我想在 2 分钟后在该页面中显示一个弹出窗口。在同一页面中,我有 3 个按钮。当我在不到 2 分钟的时间内重新访问该页面并单击要重置计时器的任何一个按钮时。请参阅下面的说明。
我有
index.html
。在那个页面中,我有 3 个按钮button1
,例如button2
和button 3
。如果用户在 2 分钟内未单击该页面中的任何按钮,则会出现弹出消息“您的时间已经结束”。
如果用户在 2 分钟内单击任何按钮,则计时器应重置为 0。
谁能帮帮我吗?我尝试了不同的代码,但它没有用。
解决方案
您可以使用setTimeout
和取消超时clearTimeout
,例如:
var resetButton =$('#resetButton')[0],timerId;
function timerExpired() {
alert('Timer expired');
}
$(resetButton).click(function() {
clearTimeout(timerId);
timerId = setTimeout(timerExpired, 5000);
}).triggerHandler('click');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
<body>
<button id="resetButton">Reset</button>
</body>
推荐阅读
- c# - 即使授予访问权限,在 UWP 中访问文件也会引发 UnauthorizedAccessException
- ruby-on-rails - WebSocket握手期间Rails 6 Production ActionCable错误
- pytorch - 无法将 PyTorch 模型导出到 ONNX
- flutter - 在 Dart 中将函数打印为字符串
- javascript - 选择中的问题呈现项目(React js)
- c# - 将一个巨大的数据集插入到 C# 组合框中
- ruby-on-rails - Rails/Rspec - 如何在不重做工作的情况下使用多个它
- javascript - post_logout_redirect_uri 不能与 OIDC Auth2.0 客户端中的 localStorage 一起使用
- ipad - Safari 无法识别我专门针对 Ipad Pro 的媒体查询
- doctrine-orm - Doctrine 2 自定义实体加载和持久化