В соответствии с official documentation существуют различные способы инициализации контейнера для кладки. Инициализация HTML работает отлично, но когда я пытаюсь переместить параметры из атрибута data-masonry в JQuery, все ломается.Невозможно инициализировать кладку с помощью 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
});
Использование последней версии, элемент сетки Сайзер идет видимым, который должен не появляется, конечно.
В официальной документации не указано, когда мне нужно вызвать код инициализации в JQuery. Это $ (document). Уже где я могу это назвать?
JSFIDDLE со сломанным макетом: http://jsfiddle.net/1f1kwfbd/10/
Да вы называете его в $ (документ) .ready функция после загрузки страницы. – Jackson
@Jackson К сожалению, я получаю разбитую решетку из кладки. Я обновил свой вопрос и добавил jsfiddle. –
Вам нужно загрузить кладку в качестве внешнего ресурса в jsfiddle! Используйте [CDN] (// cdnjs.cloudflare.com/ajax/libs/masonry/3.2.2/masonry.pkgd.min.js) Он не будет работать без его загрузки! У вашего gird sizer не должно быть содержимого внутри него: '
' и ему нужно иметь собственное правило css, не связанное с вашим .item css, как это: '.grid-sizer {width: 33.33333%; } '. Исправьте это в первую очередь. – Macsupport