Согласно официальной документации, существуют разные способы инициализации контейнера masonry. Инициализация HTML работает нормально, но когда я пытаюсь переместить параметры из атрибута data-masonry в JQuery, все ломается.
Вот инициализация HTML с параметрами JSON.
<div id="container" class="masonry js-masonry" data-masonry-options='{ "columnWidth": ".grid-sizer", "itemSelector": ".item", "isFitWidth": true }'>
И вот как это выглядит сейчас, когда я перемещаю их в свой файл js/JQuery:
var $container = $('#container');
// initialize
$container.masonry({
columnWidth: '.grid-sizer',
itemSelector: '.item',
isFitWidth: true
});
При использовании последней версии элемент grid-sizer становится видимым, что, конечно же, не должно отображаться.
Я не вижу в официальной документации указаний о том, когда мне нужно вызывать код инициализации в JQuery. Это $(document).ready, где я могу вызвать это?
JSFIDDLE со сломанным макетом: http://jsfiddle.net/1f1kwfbd/10/
<div class="grid-sizer"></div>
, и у него должно быть собственное правило css, не связанное с вашим .item css, например:.grid-sizer { width: 33.33333%; }
. Исправьте это в первую очередь. - person Macsupport   schedule 22.02.2015