2011-06-09 32 views
0

我使用jQuery UI的對話,像這樣按按鈕:執行功能,如果用戶不與x秒

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分鐘內沒有點擊「是」,就會執行另一個功能(發送郵件到總公司)。

我該怎麼做?

感謝所有幫助

回答

1

你可以使用一個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> 
+0

感謝DVIR,這就是偉大的:)我知道了現在的工作,這樣一個對話框彈出每20分鐘,如果用戶犯規10分鐘後點擊「是」按鈕,它發送信息了。 – 2011-06-09 11:46:12

0

您可以使用setTimeout來完成這件事。有一個標誌變量來標識用戶操作並在發送電子郵件的間隔函數中對其進行驗證。

例如:

以下示例將顯示每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>