基础概念: 焦点图(也称为轮播图)是一种网页设计元素,用于展示一系列的图片或内容,并且通常带有导航功能,允许用户通过点击或滑动来切换显示的内容。带页数的焦点图则是在焦点图下方或旁边显示当前页码和总页数的指示器。
优势:
类型:
应用场景:
常见问题及解决方法:
touchstart、touchmove和touchend事件的监听,并实现相应的滑动切换逻辑。示例代码: 以下是一个简单的带页数指示器的焦点图JavaScript实现:
<div id="carousel">
<div class="carousel-inner">
<div class="carousel-item active">Item 1</div>
<div class="carousel-item">Item 2</div>
<div class="carousel-item">Item 3</div>
</div>
<div id="pagination">
<span id="currentPage">1</span> / <span id="totalPages">3</span>
</div>
</div>
<script>
let currentIndex = 0;
const items = document.querySelectorAll('.carousel-item');
const totalPagesElement = document.getElementById('totalPages');
const currentPageElement = document.getElementById('currentPage');
function updatePagination() {
currentPageElement.textContent = currentIndex + 1;
}
function showItem(index) {
items.forEach((item, i) => {
item.classList.toggle('active', i === index);
});
currentIndex = index;
updatePagination();
}
document.getElementById('carousel').addEventListener('click', (event) => {
if (event.target.classList.contains('carousel-item')) {
const newIndex = Array.from(items).indexOf(event.target);
showItem(newIndex);
}
});
// 初始化显示第一页
showItem(0);
</script>在这个示例中,我们创建了一个简单的焦点图,并添加了页数指示器。点击不同的.carousel-item会切换显示的内容,并更新页数指示器。