我正在使用Jquery UI对话框,如下所示:
var $dialog;
$(document).ready(function() {
$dialog = $('<div></div>')
.html('Are you awake?<br/><br/><button>Yes</button>')
.dialog({
autoOpen: false,
title: 'Inactivity Monitor'
});
});
此对话框每20分钟显示一次,用户必须单击“是”才能继续。我需要在这背后运行一些东西,所以如果用户在10分钟内没有点击“是”,则执行另一个功能(向总公司发送电子邮件)。
我怎么能这样做?
感谢您的帮助
答案 0 :(得分:2)
如果到达,您可以使用将执行该功能的setTimeout();
,并且可以将其设置为变量,以便在单击按钮时禁用计时器。
我已经设置了一个jsfiddle来向您展示如何:http://jsfiddle.net/SrwTP/
<强> JavaScript的:强>
var buttonTimer = setTimeout("alert('Oh noes! you didnt click the button :(');", 5000);
document.getElementById("timerButton").onclick = function(){ clearTimeout(buttonTimer); };
<强> HTML:强>
<button id="timerButton">Click me or an alert will popup in 5 seconds!</button>
答案 1 :(得分:0)
您可以使用setTimeout
完成此操作。有一个标志变量来标识用户操作并在interval-function中验证它以发送电子邮件。
例如:
以下示例将每隔3秒显示一次警告框。
<html>
<head>
<script type="text/javascript">
function timeMsg()
{
var t=setTimeout("alertMsg()",3000);
}
function alertMsg()
{
alert("Hello");
}
</script>
</head>
<body>
<form>
<input type="button" value="Display alert box in 3 seconds"
onclick="timeMsg()" />
</form>
</body>
</html>