2016-09-16 8 views
0

Я новичок в javascript, так что вот мой вопрос. Я делаю слайд-шоу из трех изображений, используя html css и javaScript. Но он всегда начинается со второго изображения.Слайд-шоу с использованием JavaScript

Вот мой код:

var slideIndex=0; 
window.onload=showSlides; 
showSlides(); 

function showSlides() { 
    var i; 
    var slides = document.getElementsByClassName("mySlides"); 
    var dots = document.getElementsByClassName("dot"); 
    for (i = 0; i < slides.length; i++) { 
     slides[i].style.display = "none"; 
    } 
    slideIndex++; 
    if (slideIndex> slides.length) {slideIndex = 1} 
    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"; 
    setTimeout(showSlides, 2000); // Change image every 2 seconds 
} 

ответ

1

1) вы имеете неправильное использование функции. вы используете его дважды:

window.onload=showSlides; 
showSlides(); 

вместо этого используйте один из них.

2) всякий раз, когда функция выполняется, она может перейти на второе изображение. Если это так, просто начните с -1 стартового индекса, а не 0.

+0

спасибо, что это сработало –

+0

ok, у меня есть обновленный ответ, читайте снова. –

+0

он не работает, если я использую его только с onload –