将砌体与Waitforimages相结合,图像加载

时间:2012-08-06 21:39:34

标签: jquery jquery-plugins waitforimages

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

由于我已经在使用jquery.waitforimages.js,我在页面末尾和我的脚本中添加了这个:

$wall.waitForImages(function() {

    $wall.masonry( 'reload' );

});

虽然一切正常,但现在我在Firebug中看到了一个错误,只有当我硬重载时才会出现错误。所以我假设当图像已被缓存时会发生此错误:“在初始化之前无法调用砌体上的方法;尝试调用方法'重新加载'”。

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

1 个答案:

答案 0 :(得分:1)

答案:使用名为imagesLoaded with Masonry的脚本,因为同一作者同时写了两个&他们一起工作。
脚本:https://github.com/desandro/imagesloaded/

在你的jQuery中,类似于:

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

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