當我打電話給我的功能時,它會啓動一個時間間隔來刷新聊天屏幕。但是,當我選擇一個不同的用戶(不同的參數)時,前面的間隔繼續,並且我不確定如何在新間隔開始時停止前一個間隔。我已經嘗試從函數外部調用clearInterval(),但我認爲我的語法必須是錯誤的,因爲它將間隔顯示爲未定義。如何在新的時間間隔開始時停止功能上的時間間隔
這是我的代碼。
function selectrecipient(x,y){
clearInterval(refint);
var refint = setInterval(function(){
$.ajax({
type: "POST",
url: '../includes/chat/msgs.php',
data: ({ chosenuser : x }),
success: function(data){
document.getElementById('messagehistory').innerHTML = data;
}
});
document.getElementById("recipientid").value = ""+x+"";
}, 1000);
}
如果你的意思是'selectrecipient'被多次調用,那麼'refint'的範圍是錯誤的。將變量聲明移到函數之外。 – Bergi