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') を 2 回起動することが可能かどうか、または問題を解決する他の解決策があるかどうか疑問に思っています。

4

2 に答える 2

0

石積みが実際に何をしているのかを詳しく調べたことはありませんが、移動したい場合があります$('#projectimages').masonry('reload');

return false;

$('.close').click(function() {...});return ステートメントの後には何も実行されないためです。

EDIT : (クローズ時に「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;      
});
于 2012-10-07T12:54:21.263 に答える
0

試して追加できますか

$(".pics-hidden").hide();
閉じるボタンで、石積みのリロード前に? 私は同様の問題を抱えており、まったく異なる方法で解決しました。お役に立てば幸いです。しかし、今はうまくいくようです。隙間が見えない?

于 2012-10-07T13:43:25.543 に答える