我正在尝试使用Isotope构建一个图像网格,其中“加载更多”-Button位于该网格中,位于所有元素之后。
放置按钮不是问题,也没有插入新元素,但是我完全不知道如何确保按钮始终保留在元素之后。在我当前的代码中,如果单击“加载更多”按钮并在按钮后插入更多元素。
知道我怎么能改变它吗?在这里,我有一点远:http://goo.gl/JbXkzC
谢谢!
答案 0 :(得分:1)
首先,如果您不希望它成为同位素布局的一部分,那么您的按钮就不能成为同位素项目,因此它会被合并到布局中。你可以使用同位素stamp option ,但最简单的方法是将它从col-xs-12移到行液中并稍微改变你的按钮css:
HTML:
<div class="container">
<div class="row">
<h1>Isotope Image Grid</h1>
<!--<button class="" id="button">Load More</button>-->
</div>
</div>
<div class="container-fluid">
<div class="row-fluid">
<div class="col-xs-12">
<div class="item">
<img src="" alt="" />
</div>
<div class="item">
<img src="" alt="" />
</div>
<div class="item">
<img src="" alt="" />
</div>
<div class="item">
<img src="" alt="" />
</div>
<div class="item">
<img src="" alt="" />
</div>
<div class="item">
<img src="" alt="" />
</div>
<div class="item">
<img src="" alt="" />
</div>
<div class="item">
<img src="" alt="" />
</div>
<div class="item">
<img src="" alt="" />
</div>
</div><button id="button">Load More</button>
</div>
</div>
的CSS:
#button {
display:inline-block;
width: 25%;
height: 180px;
color: #fff;
font-size: 18px;
background-color: #C0392B;
border: 0px;
}
答案 1 :(得分:1)
看起来唯一的解决方案是删除&#34;加载更多&#34;按钮并在添加新元素后重新添加。
$('#portfolioGrid').on("click", ".loadMore", function(addIsotopeItems){
addIsotopeItems.preventDefault();
var OElem = document.getElementById("button");
OElem.parentNode.removeChild(OElem);
var di="<div class=\'item item-new\'><img src=\'\'></img></div><button class=\'item loadMore\' id=\'button\'>Load More</button>";
newItems = $(di).appendTo('#portfolioGrid');
$("#portfolioGrid").isotope('insert', newItems );
});
完整代码here on CodePen。