Javascript 同位素过滤-仅装载时的异常间距

Javascript 同位素过滤-仅装载时的异常间距,javascript,jquery,html,jquery-isotope,Javascript,Jquery,Html,Jquery Isotope,我在一个使用同位素过滤的PHP网站上做一些维护,我还在学习Javascript。正因为如此,我很难找到解决同位素问题的方法 我有一个40块的页面,分为两部分。其中一个部分工作正常,没有错误。但在第二部分中,当我加载页面时,它会将最后10-12个平铺显示在彼此的顶部(看起来随机变化) 但是,每当我单击任何过滤器时,它都可以正常工作,并将它们推出到适当的间距。因此,问题只在于页面初始加载期间的行为 有人知道可能是什么导致了这种问题吗?尝试将文档。就绪更改为窗口。加载,这将使其在运行之前等待图像下载

我在一个使用同位素过滤的PHP网站上做一些维护,我还在学习Javascript。正因为如此,我很难找到解决同位素问题的方法

我有一个40块的页面,分为两部分。其中一个部分工作正常,没有错误。但在第二部分中,当我加载页面时,它会将最后10-12个平铺显示在彼此的顶部(看起来随机变化)

但是,每当我单击任何过滤器时,它都可以正常工作,并将它们推出到适当的间距。因此,问题只在于页面初始加载期间的行为


有人知道可能是什么导致了这种问题吗?

尝试将
文档。就绪
更改为
窗口。加载
,这将使其在运行之前等待图像下载

$(document).ready(function() {
  // executes when HTML-Document is loaded and DOM is ready
  $.isotope();
});

$(window).load(function() {
  // executes when complete page is fully loaded, including all frames, objects and images
 $.isotope();
});
实际上,阅读3rror404发布的链接,你可以

// layout Isotope again after all images have loaded
$container.imagesLoaded( function() {
  $container.isotope('layout');
});

在没有看到任何代码的情况下很难判断,但我猜您不会在使用Iosotope之前等待图像加载。这意味着同位素可以计算出元素的错误高度。看这里谢谢你的回复,我想我最需要的是帮我弄清楚从哪里开始找。这让我比以前更亲近了。我可以说,这肯定是计算错了图片之间的距离。一旦我测试了你的链接建议的修复,我会更新这个。似乎你的图像没有加载,因为它们精确地计算了你的位置,没有加载的图像意味着它没有宽度和高度,这就是为什么它彼此重叠的原因,您可以使用检查是否加载了图像,或者当doc.ready将我指向正确的方向时。这基本上就是我所需要的,我只是不知道如何实现它,但我想我最终会弄明白的。