好吧,所以我在我的AJAX應用程序中有一個函數,它在一段時間後在角落粘貼工具提示,以幫助提示用戶以及他們正在做什麼。還有第二個功能,如果用戶在其他地方點擊,則會清除超時,因爲該工具提示不再相關。清除setTimeout數組的
我開始有一個問題,現在在超時設置多個工具提示,設置它們很好,但我找不到一個有效的方法來取消它們,如果用戶繼續前進。
目前我的代碼看起來像這樣
var tuttimer = new Array();
function showtooltip(uniqueid, delay){
tuttimer[uniqueid] = setTimeout(function(){
//Create tooltip code here
},delay);
}
function clearTuttimer(){
if(typeof tuttimer != 'undefined'){
for (var i = 0; i < tuttimer.length; i++) {
clearTimeout(tuttimer[i]);
}
}
}
所以tuttimer
排列在頁面加載創建,然後每當用戶做一些東西,將區分一個工具提示中顯示的showtooltip()
函數被調用,並賦予一個唯一的ID和延遲時間。
但是,如果用戶要移動到其他地方,它會調用函數clearTuttimer()
,該函數檢查數組是否存在,然後遍歷並清除每個單獨的超時值。
但是,這是行不通的。希望有人能指出我正確的方向。非常感謝。
大,它比我的回答更清潔。 –