如果在一段时间内未单击按钮,则显示消息

时间:2012-11-06 17:20:22

标签: jquery html css

如果使用jQuery检查在一段时间(即20秒)内是否未点击特定按钮,我怎么能显示一条消息?

我已经有一个功能示例,如果鼠标在30秒后保持空闲,则会显示一条消息here

谢谢, 凯尔

3 个答案:

答案 0 :(得分:1)

当你开始超时时,将它返回的ID分配给var:

function visible_a_message(){
  $('#warningMessage').show();
}
var timeout = 20000; //20 secs
var showWarningBox = setTimeout(visible_a_message, timeout);

然后单击该按钮时,清除该超时:

<input type='button' onClick='clearTimeout(showWarningBox);'" />

这不依赖于按钮将用户带到另一个页面的假设(无论浏览器在做什么,点击按钮后 取消显示消息)它跳过了将类用作变量的过程。

答案 1 :(得分:0)

$(function () {
  var pageLoaded = new Date();

  $("#preventButton").click(function () {
    // mark as clicked only within 20 seconds after page load
    if (new Date() - pageLoaded <= 20000) {
      $(this).addClass("clicked");
    }
  });

  setTimeout(function conditionalMessage() {
    // show a message if #preventButton had not been marked as clicked
    if ( !$("#preventButton").is(".clicked") ) {
      alert("a message appears");
    }
  }, 30000);
});

答案 2 :(得分:0)

从你的页面来源

我将使用这样的东西:

setTimeout(function(){
    $("#idletimeout").slideDown(); // show the warning bar
  },20000 //20 seconds
)

所以每当用户在该页面上进行操作时,他都会看到警告框,除非他点击按钮(实际离开页面)