JavaScript 轮播图循环滚动是一种常见的网页设计功能,它允许一组图片或内容在页面上自动或手动循环展示。以下是一个简单的轮播图实现示例,包括HTML结构、CSS样式和JavaScript代码。
<div class="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="image1.jpg" alt="Image 1">
</div>
<div class="carousel-item">
<img src="image2.jpg" alt="Image 2">
</div>
<div class="carousel-item">
<img src="image3.jpg" alt="Image 3">
</div>
</div>
<!-- 可选的控制按钮 -->
<button class="carousel-control prev">❮</button>
<button class="carousel-control next">❯</button>
</div>
.carousel {
position: relative;
overflow: hidden;
width: 100%;
}
.carousel-inner {
display: flex;
transition: transform 0.5s ease-in-out;
}
.carousel-item {
min-width: 100%;
box-sizing: border-box;
}
.carousel-control {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(0, 0, 0, 0.5);
color: white;
border: none;
padding: 10px;
cursor: pointer;
}
.prev {
left: 0;
}
.next {
right: 0;
}
document.addEventListener('DOMContentLoaded', function() {
const carouselInner = document.querySelector('.carousel-inner');
const items = document.querySelectorAll('.carousel-item');
let currentIndex = 0;
const totalItems = items.length;
function moveToIndex(index) {
if (index < 0) {
index = totalItems - 1;
} else if (index >= totalItems) {
index = 0;
}
currentIndex = index;
const offset = -currentIndex * 100;
carouselInner.style.transform = `translateX(${offset}%)`;
}
function nextItem() {
moveToIndex(currentIndex + 1);
}
function prevItem() {
moveToIndex(currentIndex - 1);
}
document.querySelector('.carousel-control.next').addEventListener('click', nextItem);
document.querySelector('.carousel-control.prev').addEventListener('click', prevItem);
// 自动播放功能
setInterval(nextItem, 3000); // 每3秒切换一次
});
setInterval
函数正确设置,避免与其他脚本冲突。通过上述代码和解释,你可以创建一个基本的轮播图,并根据需要进行调整和扩展。
领取专属 10元无门槛券
手把手带您无忧上云