答案 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
)
所以每当用户在该页面上进行操作时,他都会看到警告框,除非他点击按钮(实际离开页面)