2012-02-03 62 views
-5

的工作,我有我的setTimeout()功能的問題。 setTimeout()功能並不在IE 6,7,8工作。 即使我使用也沒有工作在IE的jQuery就緒功能。 有人可以告訴我任何替代。的setTimeout()函數不是在IE 6,7,8

+1

請提供代碼,並解釋這個問題。 – 2012-02-03 11:02:37

+1

你能發佈相關的JavaScript嗎? – 2012-02-03 11:02:51

+1

'setTimeout()'在這些瀏覽器中正常工作。顯示一些代碼,我們可能會告訴你什麼是錯的。否則,這個問題可能會在5分鐘內關閉。 – 2012-02-03 11:03:03

回答

1

這是setTimeout,大寫T.

假設latlon可以解決的,你應該換行的getLocation函數調用的匿名函數中:

setTimeout(function() { getlocation(lat,lon); }, 100); 

你在做什麼是:

setTimeout(<the output of the getlocation call>, 100); 

除非getlocation返回一個新函數(或函數代碼a這是一個字符串),這是行不通的。

製作函數調用,而不是傳遞函數引用是一個非常常見的錯誤,你應該小心。

+0

這是我的功能,現在你可以幫助我。 setTimeout(getlocation(lat,lon),100); – 2012-02-03 11:04:29

+0

但它仍然不能在ie6,ie7,ie8中工作。它在ie9中工作。 – 2012-02-03 12:27:55

+0

@Navjotsingh請顯示更多的代碼。 – 2012-02-03 12:41:33

0

您的代碼運行的瞬間你的getLocation功能,而不是100毫秒。

將其更改爲:

setTimeout(function() { getlocation(lat,lon) }, 100); 

的setTimeout需要一個函數作爲第一個參數,你傳遞的getLocation結果。

+0

但它仍然不能在ie6,ie7,ie8中工作。它在ie9中工作。 – 2012-02-03 12:28:38