2016-12-02 65 views
1

所以我有一個小的jQuery腳本,根據它們的背景圖像的高寬比來調整元素的大小。在某些情況下,它不能及時工作,我相信這是因爲代碼在圖像完成下載之前運行。強制jQuery在頁面加載完成後運行?

基本上,我有<div>元素將有一定大小的背景圖像,我希望元素是完全相同的大小。如果有比JS更好的方式,我全都是耳朵。

我可以手動設置延遲,但有沒有辦法在圖像完成下載後才運行代碼?

我目前在$(document).ready(function(){...});裏面我的頁腳。

+3

也許這可能有幫助嗎? http://stackoverflow.com/questions/544993/official-way-to-ask-jquery-wait-for-all-images-to-load-before-executing-somethin – jhack

+0

另一個可能有用的鏈接https: //css-tricks.com/snippets/jquery/run-javascript-only-after-entire-page-has-loaded/。 –

回答

7

請嘗試

$(window).on("load", function() { 
     // your logic here. 
    }); 

而不是

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

注 - 當所有資產被加載完成,包括圖像加載被調用。準備就緒會在DOM準備好交互時觸發。

相關問題