要实现父元素内子元素的两行分页显示效果,可以使用HTML、CSS和JavaScript来布局和控制显示。以下是一个简单的实现示例:
首先,创建一个包含多个子元素的父元素。
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
<div class="child">5</div>
<div class="child">6</div>
<div class="child">7</div>
<div class="child">8</div>
<div class="child">9</div>
<div class="child">10</div>
</div>
<button id="prev">上一页</button>
<button id="next">下一页</button>
使用CSS来控制子元素的布局和分页显示。
.parent {
display: flex;
flex-wrap: wrap;
width: 300px; /* 假设父元素宽度为300px */
overflow: hidden;
}
.child {
width: 100px; /* 每个子元素的宽度 */
height: 50px; /* 每个子元素的高度 */
border: 1px solid #000;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
}
.hidden {
display: none;
}
使用JavaScript来控制子元素的显示和隐藏,实现分页效果。
const parent = document.querySelector('.parent');
const children = document.querySelectorAll('.child');
const prevButton = document.getElementById('prev');
const nextButton = document.getElementById('next');
let currentPage = 0;
const itemsPerPage = 4; // 每页显示4个子元素(两行)
function showPage(page) {
children.forEach((child, index) => {
if (index >= page * itemsPerPage && index < (page + 1) * itemsPerPage) {
child.classList.remove('hidden');
} else {
child.classList.add('hidden');
}
});
}
prevButton.addEventListener('click', () => {
if (currentPage > 0) {
currentPage--;
showPage(currentPage);
}
});
nextButton.addEventListener('click', () => {
if (currentPage < Math.ceil(children.length / itemsPerPage) - 1) {
currentPage++;
showPage(currentPage);
}
});
// 初始化显示第一页
showPage(currentPage);
flex
布局将子元素排列成两行,并通过overflow: hidden
隐藏超出部分。通过这种方式,你可以实现父元素内子元素的两行分页显示效果。你可以根据需要调整每页显示的项目数和布局样式。