如何重建两次砖石重装?

时间:2012-10-07 12:45:54

标签: jquery events plugins reload jquery-masonry

我还是jQuery的新手,所以请耐心等待...... 我正在使用砌体插件,这是我的代码 -

$(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将通过更改类并重新加载masonry插件来显示隐藏的div,但是当您尝试使用关闭按钮(.close)关闭这些div时,div成功关闭但是砌体不会重新加载时间并留下空白。

这是我正在制作的模板 - www.nealfletcher.co.uk/testingtesting
所以我想知道是否有可能两次启动.masonry('reload'),或任何其他可以解决问题的解决方案?

2 个答案:

答案 0 :(得分:0)

我还没有真正研究过砌体究竟做了什么, 但您可能想要移动$('#projectimages').masonry('reload');

return false;

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

编辑:(关闭时删除'pics'类)

$('.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;      
});

答案 1 :(得分:0)

您可以尝试在关闭按钮和砌体重新加载之前添加

$(".pics-hidden").hide();
吗?我有一个类似的问题,我解决它完全不同。我希望它有所帮助。但它现在似乎有效。我看不出差距?