使用普通的HTML,Javascript,最好是纯CSS,我试图实现一个功能,即当用户单击按钮时,接下来的4个元素会显示给用户。
由于代码片段中的限制,样式不是很反射--因为我实现了一个网格系统,所以实际上一行中有4个项目(它们在上面只是水平的)。
默认情况下,我只想显示4个项目,但当用户选择“加载更多”,然后显示下4个&等等。按钮应始终保持在最后一个可见元素的正下方。
有人能指导或参考一种能实现这一结果的方法吗?
.container {
padding: 16px;
}
.items-container {
flex-direction: row;
display: flex;
gap: 16px;
}
.item {
flex: 0 0 auto;
width: 25%;
background-color: lightblue;
height: 320px;
}
<div class="container">
<div class="items-container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<p>Showing 4 of 10</p>
<button>
Load more
</button>
</div>
3条答案
按热度按时间3pmvbmvn1#
这就是你想做的吗?说明:
updateCount
将当前计数写入p
元素。updateItems
根据count
的当前值更改项目的显示属性。按钮上的事件侦听器将当前计数的值增加4,然后调用updateItems
函数,该函数根据当前计数更新样式,然后调用updateCount
函数将当前页写入p
。我希望这对你有帮助!iqih9akk2#
这是你要找的吗?如果你只在开始时显示前4个元素,那么其余的元素需要隐藏,直到你按下按钮。
一旦你按下它,循环通过所有隐藏的元素,并删除类隐藏这些元素
d-none
在这个例子中,并改变您的文本从Showing 4 of 8
到Showing 8 of 8
与textContent
kognpnkq3#
我假设你已经加载了元素,如果没有,我给予你的解决方案将无法完全工作: