2016-12-02 79 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准备好交互时触发。

相关问题