要實現JS幻燈片輪播效果,可以按照以下步驟進行:
首先需要在HTML中定義輪播圖的結構,可以使用一個div包含多個圖片和一個小圓點導航。如下所示:
<div class="slider">
<img src="image1.jpg">
<img src="image2.jpg">
<img src="image3.jpg">
<ul class="dots">
<li class="dot active"></li>
<li class="dot"></li>
<li class="dot"></li>
</ul>
</div>
接下來需要定義輪播圖的CSS樣式,包括圖片和小圓點導航的樣式。如下所示:
.slider {
position: relative;
width: 100%;
height: 500px;
overflow: hidden;
}
.slider img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 0.5s ease-in-out;
}
.slider img.active {
opacity: 1;
}
.dots {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
list-style: none;
}
.dot {
display: inline-block;
width: 10px;
height: 10px;
margin: 0 10px;
border-radius: 50%;
background-color: #ccc;
cursor: pointer;
}
.dot.active {
background-color: #333;
}
最后需要編寫JS代碼來實現輪播效果。可以使用setInterval函數定時切換圖片,同時監聽小圓點導航的點擊事件,實現手動切換圖片。如下所示:
const slider = document.querySelector('.slider');
const images = slider.querySelectorAll('img');
const dots = slider.querySelectorAll('.dot');
let index = 0;
function showImage() {
images.forEach(img => img.classList.remove('active'));
images[index].classList.add('active');
dots.forEach(dot => dot.classList.remove('active'));
dots[index].classList.add('active');
index = (index + 1) % images.length;
}
let timer = setInterval(showImage, 3000);
dots.forEach((dot, i) => {
dot.addEventListener('click', () => {
clearInterval(timer);
index = i;
showImage();
timer = setInterval(showImage, 3000);
});
});
以上就是實現JS幻燈片輪播效果的步驟。需要注意的是,為了實現圖片的切換效果,需要使用CSS中的transition屬性,為圖片設置漸變效果。同時,為了實現自動輪播和手動切換圖片,需要使用setInterval和clearInterval函數來控制定時器。