我遇到了相反的問題,如下所述:第一次加載在Mac OS X Safari中運行正常,但是使用所有新項目更改網格導致它們都堆疊在左上角。此外,等待就緒事件並在我們的元素上設置CSS高度&寬度沒有解決它。
在我們的網站上,我們有在砌體網格中顯示的數據類別,並且一次只顯示一個類別。用戶可以隨時切換類別並觸發一個AJAX請求來加載新數據。在最新的Safari瀏覽器(9.1,10)和Chrome等瀏覽器,我們可以簡單地這樣做更改類別中的所有新元素交換時:
// domData is HTML string from the server
// IMJS is our global variable that we use for globals and lookups
$("#divTemplateCategoryName").after(domData); // insert new HTML
var elementsToAdd = $(".grid-item-template-info"); //select the elements
IMJS.MasonryGrid.masonry('addItems', elementsToAdd); // tell masonry to add them
IMJS.MasonryGrid.masonry('layout'); // tell masonry to layout again
然而,在Safari的某些版本將無法正常工作,並我們不得不這樣做,而不是:
// domData is HTML string from the server
// IMJS is our global variable that we use for globals and lookups
IMJS.MasonryGrid.masonry('destroy'); // destroy the grid
$("#divTemplateCategoryName").after(domData); // insert new HTML
InitMasonry(); // re-do our entire masonry init
因爲我沒有追查可能受到此問題影響的每個瀏覽器版本的時候,我切換到所有瀏覽器後一種方法。
請添加屏幕截圖 - 您的鏈接已損壞。 – opyate