儘管有下面我的代碼supportchatinterval = null;
和clearInterval(supportchatinterval);
(見onBlur()
和onFocus()
)每5000毫秒的功能仍然是在同一的setInterval加載getTableSupport.php(見checkForChangesSupport()
。當該功能的onblur設置我想停止的setInterval直到onFocus
再次調用。clearInterval和設置變量爲null不工作
<script>
supportchatinterval = 5000;
$(document).ready(function(){
checkForChangesSupport();
setTimeout(checkForChangesSupport, supportchatinterval);
});
function checkForChangesSupport() {
$.get("getCountSupport.php", function(response) {
if(response == 1) {
refreshTableSupport();
}
setTimeout(checkForChangesSupport, supportchatinterval)
});
}
function refreshTableSupport(){
$('#tableHolderSupport').load('getTableSupport.php');
}
</script>
<script type="text/javascript">
function onBlur(){
document.body.className = 'blurred';
$.get("afk.php?afk=1");
supportchatinterval = null;
clearInterval(supportchatinterval);
};
function onFocus() {
document.body.className = 'focused';
$.get("afk.php?afk=0");
supportchatinterval = 5000;
refreshTableSupport();
}
</script>
1)你混合'setTimeout'和'setInterval'。 2)'setTimeout'返回超時ID。 – gcampbell
謝謝我顯然是瞎的 – michelle
PHP與這個問題無關,請刪除標籤:) –