如果用户没有按下x秒按钮,则执行功能

时间:2011-06-09 10:16:06

标签: javascript jquery html timer

我正在使用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分钟内没有点击“是”,则执行另一个功能(向总公司发送电子邮件)。

我怎么能这样做?

感谢您的帮助

2 个答案:

答案 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>