2014-04-19 74 views
-2

我真的不知道爲什麼。我有一個有很多東西的頁面加載外部事物。document.ready()不起作用,但setinterval()做

E.g我有一個在頁面底部有一個腳本加載圖像的滑塊......我在它的底部有一些動畫和善良的東西,另一個腳本標籤被應用到該滑塊。

問題是我試圖使用document.ready(),但它不工作...所以我認爲這是因爲文檔已準備好,但滑塊不是,或者類似的東西。

所以,我把我在document.ready()中執行的相同的事情變成每秒刷新一次的setInterval() ......它的工作,但問題是,即使我得到我想要的腳本,它仍然保持清爽! !我不想要它,我想要的只是執行一次,但只有當頁面真的準備就緒時(瀏覽器選項卡中的刷新動畫停止時)我該怎麼做?一些想法?

+1

顯示代碼,這將有助於 – Satpal

回答

0

嘗試使用window.onload = yourInitialisesFunction; onload事件在您的DOM完全加載時觸發。

(對不起,它是window.onload = yourFunction),JQueries ready()函數在DOM解析時觸發,但如果加載了所有圖像等,則不會觸發。

+0

即使它加載外部的東西呢?因爲它執行我放置的內容,但該選項卡與加載動畫保持一致... –

+0

是的,它也應該與外部資源一起工作,當瀏覽器完成渲染時,應該激活此處理程序。也在這個線程回答http://stackoverflow.com/questions/3520780/when-is-window-onload-fired希望這有助於。 –

+0

但是,如果您的選項卡有一個自己的內部加載例程,它在JavaScript中準備了某些內容,則瀏覽器無法識別這些內容。瀏覽器會告訴你每個資源何時加載並準備使用。 –

1

你在混淆jquery的ready方法和本地onload。

要麼使用:

window.onload = function(){ 
    // do something here. Everything including resources are loaded 
} 

或:

$(document).ready(function(){ 
    // do something here. The DOM is loaded 
}); 
相關問題