2012-02-27 64 views
1

我已经玩了很多,并在一堆项目中使用了砌体。我很难过。砌体运行迟了页面渲染

我已经包含元素的CSS设置为:

#content.video-grid { 
    margin: 0 auto; 
    overflow: hidden; 
} 

按照给定的这个CSS每一块砖:

.grid-block { 
    float: left; 
    height: 220px; 
    width: 240px; 
    overflow: hidden; 
    padding: 0 0 20px 0; 
} 

和砖石这样调用:

jQuery('#content.video-grid').masonry({ 
     itemSelector : '.grid-block', 
     columnWidth : 240, 
     isAnimated: true, 
     isFitWidth: true, 
     gutterWidth: 2 
    });  

这将导致在页面加载完成后没有对砖块进行“洗牌”,但由于某种原因,它会一直等到所有东西都被加载,t如果它将宽度应用于由isFitWidth指定的包含元素。

这是行不通的: http://dev.massmarket.tv/work/all/

这里是相同的实现工作: http://www.caviarcontent.com/los-angeles/

所以一定有什么东西是导致砌体后期运行,但我一直无法理解它出。为了清楚起见,我希望Masonry在加载图像之前运行,以便在加载图像之前将砖块放在正确的位置。

谢谢!

回答

0

你尝试来包装代码:

$(window).load(function(){

});

+0

是的,但是这并没有解决我的问题。在页面加载后,它会正确地分隔所有内容。我希望它正确隔开页面加载时。由于图片宽度不能确定每块砖的宽度,因此在页面加载时应该可以正常工作。 – 2012-04-03 19:53:40

0
$('img').load(function(){ 
    $('#container').masonry(); 
}); 

不知道它是否适合你的情况..