var check; function showLoader(){ $('#mc_signup_form')。prepend('loading…'); check_init(); }jQuery/Javascript:setInterval檢查DOM元素是否存在?
function check_init() {
check = setInterval('check_trigger()', 300);
}
function check_clear() {
clearInterval(check);
}
function check_trigger() {
if ($('.mc_error_msg').length == 0 || $('.mc_success_msg').length == 0) {
$('#mc_signup_form .loading').remove();
check_clear();
}
}
我不知道爲什麼我的瀏覽器不斷告訴我,check_trigger()不存在? 我在我的showLoader()函數內啓動了一個setInterval。它應該觸發check_trigger。當兩個div(.mc_error_msg或.mc_success_msg)中的一個存在時,我想清除Interval。
我在做什麼錯?
你有嘗試把check_trigger()放在check_init()之上嗎? – airmanx86 2010-08-04 05:41:47
沒有什麼區別! – matt 2010-08-04 05:43:46
@mathiregister,代碼的範圍是什麼?因爲setInterval()會在「window」/ global對象下運行,所以它可能找不到check_trigger()。 – airmanx86 2010-08-04 05:50:15