jquery.load()在硬刷新后不工作

jquery.load()在硬刷新后不工作,jquery,Jquery,我有一些代码,当页面加载时会得到图像的高度,然后相应地调整其容器div的大小。除非是第一次加载页面,或者我用ctrl+f5进行了硬刷新,否则它就不起作用了。我试过使用 $('#div img').load(function() { // put the code here }); 但我也有同样的问题。有人知道为什么会这样吗 这是我的代码: maxheight = 0; $('#venue #main-img img').each(function() { height = $(this)

我有一些代码,当页面加载时会得到图像的高度,然后相应地调整其容器div的大小。除非是第一次加载页面,或者我用ctrl+f5进行了硬刷新,否则它就不起作用了。我试过使用

$('#div img').load(function() {
// put the code here
});
但我也有同样的问题。有人知道为什么会这样吗

这是我的代码:

maxheight = 0;
$('#venue #main-img img').each(function() {
   height = $(this).height();
   if(height > maxheight) {
      maxheight = height;
   }
   $(this).hide();
});
$('#venue #main-img').animate({ height: maxheight });
$('#venue #main-img img').first().show();
我应该说对不起。代码在$document中。准备就绪

请尝试在$window.load中调用代码。这将在加载所有图像后运行

$(window).load(function () {
   // run code
});

或者您可以尝试该插件。

您可能想尝试以下方法:

$(document).ready(function(){
//code here
});

如果您的图像没有在HTML或CSS中指定宽度/高度,那么在下载图像之前,它们的宽度/高度是未知的

$document.ready在加载DOM时触发,但可能在下载图像等辅助媒体之前触发。这意味着当浏览器重新下载图像时,宽度/高度可能为0


也许你可以用类似的东西。imagesLoaded插件看起来特别有用,尽管它的代码暗示$imgs.load应该对你有用>你可以使用像这样的jQuery插件

我也有同样的问题。经过一些研究,似乎浏览器需要为图像设置一个预定义的值,以便重置大小。因此,在初始加载时,它会出错,但在重新加载时,图像的高度会保持不变,因此javascript可以正常工作。你需要编码图像的初始高度,以便JS可以正确调整它们的大小。

你是否考虑到在每次迭代后,maxheight不会返回到0,而height>maxheight将基于此?这意味着什么不起作用?实际发生了什么?请将代码粘贴到img加载函数中好吗?我肯定那里有个错误。还有,你在用firebug吗?如果是,请检查返回的错误。