Я нахожу изотопную схему для нескольких контейнеров на одной странице. Ловушка Я бы хотел, чтобы каждый идентификатор контейнера был таким же. Использование http://isotope.metafizzy.co v.2.1.0Изотоп - загрузка нескольких контейнеров на одной странице
Изотоп будет работать для первого блока, но не запускается для второго блока. Я чувствую, что однажды изотопный макет попадает в первый идентификатор первого контейнера, который он останавливает, и снова не ищет тот же контейнер. Я попытался использовать .each() - похоже, не хочет работать.
<div id="isotope-cat-list">
<div class="grid-sizer"></div>
<div class="box">
<h1>TITLE</h1>
</div>
<div class="box">
<h1>TITLE</h1>
</div>
</div>
я тогда нужно вызвать другую раскладку изотоп блок снова:
<div id="isotope-cat-list">
<div class="grid-sizer"></div>
<div class="box">
<h1>TITLE</h1>
</div>
<div class="box">
<h1>TITLE</h1>
</div>
</div>
Полный HTML будет выглядеть следующим образом:
<div id="isotope-cat-list">
<div class="grid-sizer"></div>
<div class="box">
<h1>TITLE</h1>
</div>
<div class="box">
<h1>TITLE</h1>
</div>
</div>
<div id="isotope-cat-list">
<div class="grid-sizer"></div>
<div class="box">
<h1>TITLE</h1>
</div>
<div class="box">
<h1>TITLE</h1>
</div>
</div>
Очевидно, есть несколько элементов в этих .box элементов, но для простоты я отрубил его. Причина для нескольких вызовов заключается в том, что они будут для разных категорий, и между ними будут другие элементы, и я бы предпочёл не называть кучу идентификаторов контейнеров.
Когда я пытаюсь запустить # изотоп-cat-list в моей .js-библиотеке, он будет работать для первого блока, но не будет запускаться для второго блока. Я пробовал сделать jQuery .each(), но это не сработало.
Вот JS:
var mainEl = $('#isotope-cat-list');
mainEl.isotope({
animationEngine: 'best-available', //CSS3 if browser supports it, jQuery otherwise
itemSelector: '.box',
animationOptions: {
duration: transitionDuration
},
containerStyle: {
position: 'relative',
overflow: 'visible'
},
masonry: {
columnWidth: columnWidth,
gutter: 1
}
});
Я пытался делать .each():
var mainEl = [$('#isotope-cat-list')];
$.each(mainEl, function (j) {
this.isotope({
animationEngine: 'best-available', //CSS3 if browser supports it, jQuery otherwise
itemSelector: '.box',
animationOptions: {
duration: transitionDuration
},
containerStyle: {
position: 'relative',
overflow: 'visible'
},
masonry: {
columnWidth: columnWidth,
gutter: 1
}
});
});
Но она по-прежнему не срабатывает для второго HTML блока. Любая помощь здесь была бы высоко оценена! Благодаря!
Вы не можете использовать один и тот же идентификатор дважды на одной странице. Они уникальны. – Macsupport