這個靜態的幻燈片打開時第一張不顯示,如何能調整js代碼使其顯示?
var slideIndex = 1;showSlides(slideIndex);
?
function plusSlides(n) {? showSlides(slideIndex += n);}
?
function currentSlide(n) { showSlides(slideIndex = n);}
?
function showSlides(n) {? var i;? var slides = document.getElementsByClassName("mySlides");? var dots = document.getElementsByClassName("dot");
? if (n > slides.length) {slideIndex = 1}? ?if (n < 1) {slideIndex = slides.length}? for (i = 0; i < slides.length; i++) {slides[i].style.display = "none";}
? for (i = 0; i < dots.length; i++) {dots[i].className = dots[i].className.replace(" active", "");}
? slides[slideIndex-1].style.display = "block";? ?dots[slideIndex-1].className += " active";
2024-09-04
var slideIndex = 0; // 從0開始索引,更符合JavaScript的數組索引習慣
// 初始顯示第一張幻燈片
showSlides(slideIndex);
function plusSlides(n) {
? ? showSlides(Math.max(0, Math.min(slideIndex + n, document.getElementsByClassName("mySlides").length - 1)));
};
function currentSlide(n) {
? ? showSlides(Math.max(0, Math.min(n, document.getElementsByClassName("mySlides").length - 1)));
};
function showSlides(n) {
? ? var slides = document.getElementsByClassName("mySlides");
? ? var dots = document.getElementsByClassName("dot");
? ? var maxIndex = slides.length - 1; // 獲取最大索引值
? ? // 更新slideIndex為有效范圍內的值
? ? slideIndex = Math.max(0, Math.min(n, maxIndex));
? ? // 隱藏所有幻燈片
? ? for (var i = 0; i <= maxIndex; i++) {
? ? ? ? slides[i].style.display = "none";
? ? };
? ? // 移除所有點的激活狀態
? ? for (var i = 0; i < dots.length; i++) {
? ? ? ? dots[i].className = dots[i].className.replace(" active", "");
? ? };
? ? // 顯示指定索引的幻燈片并激活對應的點
? ? if (slides.length > 0) {
? ? ? ? slides[slideIndex].style.display = "block";
? ? ? ? if (dots.length > 0) {
? ? ? ? ? ? dots[slideIndex].className += " active";
? ? ? ? };
? ? };
}