我正在使用砌體佈局一些文章,首先隱藏所有內容並在layoutComplete觸發時顯示項目。當有多個文章被定位時,這可以按計劃運行,但是當存在一個文章時,佈局仍然隱藏。我也使用Modernizr(見下面的sass)。jQuery Masonry只定位一個項目時如何檢測layoutComplete?
這裏是我的代碼:
CSS(SASS):
.js-masonry, [data-masonry-options] {
@include media-query(lap-and-up) {
html.js & {
visibility: hidden;
}
html.js &.masonry-loaded {
visibility: visible;
}
}
}
的Javascript:
var $container = $('.js-masonry').masonry();
$container.imagesLoaded(function() {
$container.masonry({
"columnWidth": ".grid-sizer",
"gutter": ".gutter-sizer",
"itemSelector": ".item",
"percentPosition": true
});
$container.masonry('on', 'layoutComplete', function() {
$container.addClass('masonry-loaded');
});
});
砌體如果確實添加內嵌樣式到單個項目,但layoutComplete不是射擊。有沒有一個技巧,或者我發現了一個錯誤?
太近了!我們無法將layoutComplete事件附加到imagesLoaded之外,因爲砌體尚未初始化。我決定回到香草js的方法,它的工作。看到我的答案爲解決方案。 –