1

我在测试 Masonry 时注意到,如果我在 Firefox 中移位重新加载(硬重新加载),那么布局将偏离页面中任何图像的高度。我认为 div 高度必须取决于知道图像高度,这是有道理的。

因为我已经在使用 jquery.waitforimages.js,所以我在页面和脚本的末尾添加了这个:

$wall.waitForImages(function() {

    $wall.masonry( 'reload' );

});

尽管一切正常,但现在我在 Firebug 中看到了一个错误,该错误仅在我重新加载时才会发生。所以我假设这个错误发生在图像已经被缓存时:“在初始化之前不能调用砌体上的方法;试图调用方法'reload'”。

有没有办法解决这个问题?谢谢!

4

1 回答 1

1

答案:使用名为 imagesLoaded with Masonry 的脚本,因为同一作者编写了这两者并且它们一起工作。
脚本:https ://github.com/desandro/imagesloaded/

在您的 jQuery 中,类似:

    $wall = $('#mydiv');
    $wall.imagesLoaded(function(){
            // call your layout function, something like:
            // layoutBricks();
    });

这应该有助于避免 Heisenbug。我还没有在我的其他小工具上测试过这个新的图像加载脚本,所以我还不知道。

于 2012-08-15T10:10:28.937 回答