2017-09-05 61 views
2

我從一個web服務獲取一些html附加到一個div。這是我成功的功能:jQuery .append()等待渲染

function SucceededCallback(result) { 
    // get the div element 
    var RsltElem = $(".placeholder"); 

    // update div inner Html 
    RsltElem.append(result); 

    $('.loading-gif').hide(); 
} 

有沒有什麼辦法可以.append()不顯示,直到瀏覽器加載完成,並畫吧?

我寧可不使用.append(result).slideDown(n)因爲n可能是任何東西,這取決於web服務給我發送的內容。

在此先感謝

+0

'有什麼辦法可以讓.append()不顯示,直到瀏覽器完成加載並繪製它?「這就是已經發生的事情。 append()不是一個異步方法 –

回答

0

考慮使用

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

像這樣:

$(document).ready(function() { 
     //get the div element 
     var RsltElem = $(".placeholder"); 

     //update div inner Html 
     RsltElem.append(result); 


     $('.loading-gif').hide(); 
}); 

我不知道你是什麼繪畫和什麼時候會完成,所以你也可以使用這個:

$(window).bind("load", function() { 
    // code goes here 
}); 

函數內部的代碼只在整個頁面加載時運行。

0
$(window).on('load', function() { 
    //everything is loaded 
});