0

我对 jQuery 还是很陌生,所以请多多包涵……
我正在使用 masonry 插件,这是我的代码——</p>

$(document).ready(function(){
      $(".pics-hidden").hide();

      $('.pics').click(function() {
            $('#div'+$(this).attr('rarget')).addClass('pics').removeClass('#div'+$(this).attr('rarget')).delay(600).fadeIn(400);
            $('#projectimages').masonry('reload');
      });

      $('.close').click(function() {
            $('#div'+$(this).attr('larget')).addClass('.pics-hidden').removeClass('#div'+$(this).attr('larget')).delay(600).fadeOut(400);
            $('#projectimages').masonry('reload');
            return false;
      });
});

单击 .pics 将通过更改类显示隐藏的 div 并重新加载砌体插件,但是当您尝试使用关闭按钮 (.close) 关闭这些 div 时,div 成功关闭,但砌体这次没有重新加载并离开一个空格。

这是我正在处理的模板 - www.nealfletcher.co.uk/testingtesting
所以我想知道是否可以触发 .masonry('reload') 两次,或者任何其他可以解决问题的解决方案?

4

2 回答 2

0

我还没有真正研究过砌体的实际作用,但你可能想搬家$('#projectimages').masonry('reload');

return false;

in$('.close').click(function() {...});因为在 return 语句之后没有执行任何操作。

编辑:(关闭时删除“图片”类)

$('.close').click(function() {
      $('#div'+$(this).attr('larget')).removeClass('pics').addClass('.pics-hidden').removeClass('#div'+$(this).attr('larget')).delay(600).fadeOut(400);
      $('#projectimages').masonry('reload'); 
      return false;      
});
于 2012-10-07T12:54:21.263 回答
0

你可以尝试添加

$(".pics-hidden").hide();
在关闭按钮和砌体重新加载之前?我有一个类似的问题,我完全不同地解决了它。我希望它有所帮助。但它现在似乎起作用了。看不出缝隙?

于 2012-10-07T13:43:25.543 回答