在没有互动的特定时间后如何显示弹出窗口

时间:2019-03-20 08:38:53

标签: javascript jquery html asp.net twitter-bootstrap-3

打开页面后,我想在2分钟后在该页面中显示一个弹出窗口。在同一页面中,我有3个按钮。当我在不到2分钟的时间内重新访问该页面时,我单击任一按钮都想重置计时器。请参阅下面的说明。

  1. 我有index.html。在该页面中,我有3个按钮,例如button1button2button 3

  2. 如果用户未单击该页面中的任何按钮,则会在2分钟内显示弹出窗口,并显示一条消息“您的时间已经过去”。

  3. 如果用户在2分钟内单击任何按钮,则计时器应重置为0。

有人可以帮助我吗?我尝试了不同的代码,但没有用。

1 个答案:

答案 0 :(得分:2)

您可以使用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>