2011-11-12 76 views
-1

當我在document.ready函數中使用setTimeOut()時,它不起作用。以下是我用過的代碼:

$(document).ready(function(){ 
    function abc{ 
    alert('Hi'); 
    } 
    setTimeOut (abc, 2000); 

}); 

我錯過了什麼?

謝謝:)

+1

功能名稱是區分大小寫的:https://developer.mozilla.org/en/DOM/window.setTimeout – HoLyVieR

+4

你不使用瀏覽器控制檯嗎?錯誤應該是顯而易見的:) – Robin

+0

謝謝你們:) –

回答

7

其拼寫setTimeout(小寫字母「O」)

您也可以和應該能夠找到像這些自己的問題。你需要知道的唯一魔法部分是瀏覽器傾向於「吞下」DOM和AJAX事件處理程序中拋出的異常。所以實際上在你的代碼中拋出了一個異常。然而,您可以輕鬆推斷,在每行上添加更多alert()console.log()語句。

+0

謝謝你們:) 問題出在那個大寫字母「O」。另外,我忘了在聲明函數名後加上「()」大括號。 我使用Google Chrome。我沒有試過檢查Javascript控制檯,直到你們在這裏提到它。 :) 它位於'扳手按鈕 - >工具 - > Javascript控制檯' 我能夠看到那裏的錯誤。 :) –

+1

Ctrl + Alt + J ...控制檯方便的快捷方式。 – enloz

+0

感謝您的快捷鍵:) –

1

嘗試的setTimeout()代替的setTimeout()

-2

如果你試圖調用ABC功能每2秒;

$(document).ready(function(){  
    abc(); 
}); 

function abc(){ 
    alert('Hi'); 
    setTimeout(abc, 2000); 
} 
+1

謝謝...... :) 但我認爲,要反覆調用它,我們必須使用setInterval()函數而不是setTimeout()。 setTimeout()將在指定時間後觸發一次,但在setInterval()的情況下,它會在指定時間內重複它。 糾正我,如果我錯了。 –

3

嘗試 -

$(document).ready(function(){ 
    function abc(){ 
    alert('Hi'); 
    }; 
    setTimeout(abc, 2000); 

}); 

你原來的代碼有錯誤的情況下,爲setTimeout此外,你還缺少從你的函數調用function abc(){

工作演示括號 - http://jsfiddle.net/QQLjb/

+0

謝謝:) 我現在明白了.. –

4

你缺少函數的()。

你需要做的

function abc(){ 
    alert("Y"); 
} 

或定義functinon這樣

var abc = function(){ 
    alert("Y") 
} 
+0

啊是的,有這樣的。 –

+0

是的。實際上,這是我爲測試而創建的虛擬功能。所以,我沒有發佈實際功能,而是發佈了虛擬功能。但忘了在其中包括大括號。 :) 謝謝 –

相關問題