2017-05-12 1 views
0

어떻게 자동 슬라이딩을 추가 할 수 있습니까? setTimeout 시도했지만 작동하지 않습니다.이 자바 스크립트 기능을 자동으로 추가하려면 어떻게해야합니까?

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("slide"); 
    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"; 
} 

누군가 해결책을 도울 수 있습니까? 많이 고맙습니다.

답변

0

확인 하여 setInterval() 기능을 대신 setTimeout() 기능

https://developer.mozilla.org/fr/docs/Web/API/WindowTimers/setInterval

에서는 setTimeout() 기능 2 초 후에 한 번만 당신의 기능을 실행합니다.

https://developer.mozilla.org/fr/docs/Web/API/WindowTimers/setTimeout

(정말) 기본 구현

바꾸기이이

var slideIndex = 1; 
setInterval(function() { 
    slideIndex++; 
    showSlides(slideIndex); 
}, 2000) 
+0

으로

var slideIndex = 1; showSlides(slideIndex); 

감사합니다! 하지만 내 스크립트에 어떻게 통합 할 수 있습니까? –

+0

@CraitaGeorgeAdelin 나는 기본적인 implentation으로 편집했다. – Dash

+0

정말 고마워요! 일하지만 지금은 약간의 버그입니다. 페이지에 액세스 할 때 표시되지 않는 슬라이드는 2 초 정도 기다렸다가 두 번째 슬라이드부터 직접 시작해야합니다. –

관련 문제