我想构建一个无限滚动加载的同位素网格布局。
我需要给.grid-item
一个相对位置,以便将其子元素定位为与父元素position: absolute
相关的.grid-item
。
<div class="grid">
<article class=".grid-item" ?> <!-- position: relative -->
<img> <!-- position: absolute -->
<h2> <!-- position: absolute -->
</article>
</div>
在无限滚动加载后,会触发回调以使用新网格项对布局进行排序:$('.grid').isotope('reloadItems').isotope();
但此项目位于容器.grid
的顶部,与先前的网格项重叠。这个行为是固定的,给.grid-item一个静态位置,但我真的需要相对位置,如前所述。
有一些方法可以让Isotope使用相对定位的.grid-item
吗?
我不知道如何使用所有这些构建一个codepen,但这是一个包含我的项目的临时URL,显示了这种行为。无限滚动加载后,新项目将转到.grid
容器的顶部:
谢谢!
答案 0 :(得分:0)
另一个&#34;我的错误&#34;回答:(
在无限滚动加载后,对Isotope的回调缺少viewportWidth
变量声明:
if (viewportWidth>=768) {
$('.grid').isotope('reloadItems').isotope();
};
因此,Isotope在加载后没有管理新的网格项目。这项工作:
var viewportWidth = $(window).width();
if (viewportWidth>=768) {
$('.grid').isotope('reloadItems').isotope();
};