2016-09-16 13 views
0

私はjavascriptが新しいです、これは私の質問です。私はhtml cssとjavaScriptを使って3つの画像のスライドショーを作っています。しかし、それは常に第二のイメージで始まります。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)あなたは、関数の間違った使い方を持っています。 2回使用してください:

window.onload=showSlides; 
showSlides(); 

代わりに、どちらか1つを使用してください。

2)関数が実行されるたびに、2番目の画像にジャンプすることがあります。その場合は、0ではなく、-1開始インデックスから開始してください。

+0

ありがとうございました –

+0

ok、私は答えを更新しました、もう一度読んでください。 –

+0

私はonloadでのみ使用すると動作しません。 –

関連する問題