2012-10-16 65 views
0

我有一個容器#boxes,我需要清空和添加內容使用.imagesLoaded(),然後應用砌築燒製。內容默認包含我正在刪除的砌體項目,然後添加包含在響應中的新項目。我的代碼存在的問題是,在我相信追加內容後,它會清空內容。有任何想法嗎?.appendTo之前空容器()被使用jQuery

$(document).ready(function($){ 
    $('div.profile-archive').click(function(){ 
     $("#boxes").empty(); 
     $this = $(this); 
     var postType = $this.attr("rel"); 
     data = { 
      action: 'fetch_profile_archive', 
       postType : postType 
     }; 
     $.post(ajaxurl, data, function (response) { 
      var $response = $(response); 
      $response.imagesLoaded(function() { 
       $("#boxes").masonry('reload'); 
      }).appendTo("#boxes"); 
     }); 
    }); 

}); 

回答

0

我認爲你的問題在於imagesloaded函數。您目前的結果,從追加到imagesloadedboxes,我的猜測是,你有響應添加到boxes第一,然後在boxes運行imagesLoaded

$("#boxes") 
    .append($response) 
    .hide() // If you don't want to show the content until loaded 
    .imagesLoaded(function() { 
    $("#boxes") 
     .show() // If you want to show the content after it's loaded 
     .masonry('reload'); 
    }); 
+0

當我做到這一點的內容出現,然後消失。 –

+0

好吧,算了一下。在'imagesLoaded'裏面,我們只需要應用'.show().masonry('reload')',它工作正常。如果你同意更新你的答案,我會接受它。 –

+0

我編輯了你的原代碼和我的'.masonry('reload')',以便它們匹配。 – Jan