2012-10-07 52 views
0

我還是很新的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將通過改變顯示隱藏的div類並重新加載砌體插件,但是當您嘗試使用關閉按鈕(.close)關閉這些div時,div成功關閉,但此時砌體不會重新加載並留下空白區域。

這裏是我正在處理的模板 - www.nealfletcher.co.uk/testingtesting
所以我想知道是否可以兩次激發.masonry('reload')或其他解決方案來解決問題?

回答

0

我還沒有真正看着什麼砌築實際上做, 但你可能要爲沒有什麼是return語句執行後,在$('.close').click(function() {...});移動$('#projectimages').masonry('reload');

return false; 

編輯:(刪除「圖片」上接近類)

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

感謝您的建議,但它仍然無法正常工作。我已經嘗試了一些與'返回false'的變體。並將其移動到底部仍然不起作用。 – user1374796

+0

您可能需要關閉「圖片」類。類似於$('#div'+ $(this).attr('larget'))。removeClass('pics')。addClass('。pics-hidden')。removeClass('#div'+ $(this) 。.attr( 'larget'))延遲(600).fadeOut(400); –

0

你可以嘗試在關閉按鈕和磚石重裝前加

$(".pics-hidden").hide();
?我有類似的問題,我解決了它完全不同。我希望它有幫助。但它現在似乎工作。我看不到差距?