2013-06-30 50 views
4

砖石(V3)代码:砌体重装&reloadItems不工作

$(function msnry(){ 
var columns = 3, 
setColumns = function() { columns = $(window).width() > 640 ? 3 : $(window).width() > 320 ? 2 : 1; }; 
setColumns(); 
$(window).resize(setColumns); 

    // layout Masonry again after all images have loaded 
    var $container = $('#portfoliocontent').masonry(); 
    var msnry; 
    $container.imagesLoaded(function(){ 
    msnry = new Masonry(container, { 
    itemSelector : '.item', 
    columnWidth: function(containerWidth) { return containerWidth/columns;} 
     }); 
}); 

我的砖石容器(又名我的投资组合)

<div id="portfoliocontent" class="portfoliocontainer"></div> 

这里我的目标是隐藏所有与类的div 'designshwr'是有效的,但是砌石的重新加载根本不起作用。

$('.engineeringiC').click(function(){ 
    if($('div.item').hasClass('designshwr')){ 
    $('div.item.designshwr').hide('fast'); 
    $('.portfoliocontainer').masonry('reloadItems'); 

}

有什么建议?我一直在抓我的头在不同的方法来得到它的工作在过去的一周,我仍然在它:(

回答

3

我终于解决了这个问题,在它的全部。

$(function msnry(){ 
var columns = 3, 
setColumns = function() { columns = $(window).width() > 640 ? 3 : $(window).width() >   320 ? 2 : 1; }; 
setColumns(); 
$(window).resize(setColumns); 

// layout Masonry again after all images have loaded 
var $container = $('#portfoliocontent').masonry(); 
var msnry; 
$container.imagesLoaded(function(){ 
msnry = new Masonry(container, { 
itemSelector : '.item', 
columnWidth: function(containerWidth) { return containerWidth/columns;} 
    }); 
}); 

变种$ container = $('#portfoliocontent').masonry();

如果有其他人遇到这个问题,可能是因为你将砌体初始化应用到你的容器变量。它的帮助,现在工作的伟大:)

+1

这对我有效!谢谢! – finitenessofinfinity

1

我都面临着同样的问题还没有得到任何运气。也许是我的解决方案的效率不高,但每当我有最佳的解决方案到现在为止我已经使用这个。你可以希望试试这个它会帮助你。

$('.engineeringiC').click(function(){ 
    var $container = $('#portfoliocontent').masonry(); 
    if($('div.item').hasClass('designshwr')){ 
    $('div.item.designshwr').hide('fast'); 
    //$('.portfoliocontainer').masonry('reloadItems'); 
    setTimeout(function(){ $container.masonry() }, 400); 
} 
+0

感谢,但是你又说,线产生我已经遇到与重装它不同的方式乱搞相同的结果。 我已经得到了迄今已经通过这个代码的最好成绩:。 $(”。engineeringiC ')点击(函数(){ \t \t如果($(' div.item ')hasClass(' designshwr ')){ \t $('div.item.designshwr')。hide('fast')。removeClass('item.designshwr'); \t \t $('。portfoliocontainer div.item')。masonry() ; } 唯一的问题是它们的布局方式。http://drootech.com.s3-website-us-west-1.amazonaws.com/dtindex.html –