js实现的简易轮播图,适合初学者
以下是一个使用原生JavaScript实现的简易轮播图示例,适合初学者学习和实践。
HTML部分:
<div id="carousel">
<div class="carousel-image" style="background-image: url('image1.jpg');"></div>
<div class="carousel-image" style="background-image: url('image2.jpg');"></div>
<div class="carousel-image" style="background-image: url('image3.jpg');"></div>
<!-- 更多图片可以继续添加 -->
</div>
<button id="prevBtn">Previous</button>
<button id="nextBtn">Next</button>
CSS部分:
#carousel {
position: relative;
width: 300px; /* 设置轮播图的宽度 */
height: 200px; /* 设置轮播图的高度 */
overflow: hidden;
}
.carousel-image {
position: absolute;
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
transition: transform 0.5s ease-in-out;
}
JavaScript部分:
const carousel = document.getElementById('carousel');
const images = document.querySelectorAll('.carousel-image');
const nextBtn = document.getElementById('nextBtn');
const prevBtn = document.getElementById('prevBtn');
let currentIndex = 0;
function showImage(index) {
images.forEach((image, i) => {
image.style.transform = `translateX(${i - index}00%)`;
});
}
nextBtn.addEventListener('click', function() {
currentIndex = (currentIndex + 1) % images.length;
showImage(currentIndex);
});
prevBtn.addEventListener('click', function() {
currentIndex = (currentIndex - 1 + images.length) % images.length;
showImage(currentIndex);
});
showImage(currentIndex); // 初始显示第一张图片
这段代码实现了一个简单的轮播图功能,通过左右按钮控制当前显示的图片。轮播图使用绝对定位来叠加图片,并通过改变transform
属性的translateX
值来切换不同的图片。代码注释清晰,方便理解。
评论已关闭