2011-11-11 52 views
0

我有一個頁面,有很多廣告被逐個加載。jquery - 我可以檢測一次所有的內容加載?

我需要一個元件相對於整體頁面的高度,其被負載過程中改變位置,因爲添加的廣告。

問題:是否有jquery事件或類似的檢測,當所有的元素都加載?我目前正在用setTimeout「等待」,但這遠遠不夠好。

一個空閒事件會很好,如果沒有新的http請求爲xyz secs,它會在頁面加載後觸發一次。

回答

5

您可以使用onload事件,當所有的元素,例如DOM,圖片,框架和外部資源加載到頁面時觸發。

香草的JavaScript:

window.onload = function(){ ......... } 

的jQuery:

$(window).load(function() {.........}); 
+0

該函數在$(window)完成加載DOM時執行。 http://api.jquery.com/load/ – lowerkey

+0

@herrturtur:鏈接已更新。 – Sarfraz

+0

hm。那很簡單!謝謝。 – frequent

0

有沒有空閒功能,但有

$(window).load(function() { 
    ... 
}); 
0

理想的答案是$(function(){ })或所有的DOM內容載入火災後window.onload = function(){}。但我想,您的網頁上的廣告在DOM加載後開始異步加載。

因此,假設你知道你的頁面上的廣告「的數量(你說你加載它們一塊一塊的),我的建議是遞增每個成功的「廣告」負載的計數器。當該計數器達到廣告總數時,您將觸發「all_adv_loaded」功能。

+0

也是一個不錯的方法,但因爲這是一個插件,我不得不知道確切的廣告數量。 – frequent

0
$(window).load(function() { 
    //loading bar here /gif imagel 
    loader(); 
    //will call at the end of window load 
}); 

function Loader(){ 
    //Your main function here complete webpage 
}; 
相關問題