2016-11-14 5 views
0

매 5 초마다 새로운 piture를 표시하는 카운트 다운이 있습니다. >> 근사하게 작동하지만 10 개의 그림으로 구성된 배열의 끝에 있습니다. ... 내 스크립트를 향상의 수행하는 방법에 대한자바 스크립트에서 setInterval에 대한 clearIntereval을 사용하여 내 루프를 중지하는 데 성공하지 못했습니다.

enter image description here

내 스크립트

<script> 
     var myImage = document.getElementById ("mainImage"); 
     var imageArray = ["img/lunge.png", 
         "img/plank.png", 
         "img/push-up-and-rotation.png", 
         "img/push-up.png", 
         "img/side-plank-left.png", 
         "img/side-plank-right.png", 
         "img/squat.png", 
         "img/step-up-onto-chair.png", 
         "img/triceps-dip-on-chair.png", 
         "img/wall-sit.png"] 
     var imageIndex = 0; 
     $(document).ready(function() { 
      $('#submit').click(function() { 
       $('.timer').circularCountDown() 
       var inter = setInterval (changeImage, 5000); 
       function changeImage() { 
        myImage.setAttribute ("src", imageArray [imageIndex]); 
        document.getElementById("circle").innerHTML = ""; 
        imageIndex++; 
        if (imageIndex >= imageArray.length) { 
         imageIndex =0; 
         } 
        $('.timer').circularCountDown() 
        } 
       function stopinter() { 
        clearInterval (inter); 
       } 
      }) 
     }) 
    </script> 

어떤 생각을 카운트 다운을 중지 +를 위해 clearInterval에 사진을 표시 막을 수 없습니다?

올리비에

+2

어쩌면 내가 누락,하지만 난'보이지 않아요 stopinter' 함수를 호출합니다 ... – Kryten

+0

'stop' 버튼을 클릭 할 때'stopinter()'함수를 호출하십시오. –

+0

그것은 배열 길이 끝에 멈춰야 만합니다 ... 정지 버튼은 멈추는 다른 방법이지만, 아직 그 코드를 쓰지 않았습니다 ... – Olive

답변

0
imageIndex++; 
if (imageIndex >= imageArray.length) { 
    stopinter(); 
} 
+0

죄송합니다. 나는이 대답을 보지 못했습니다. 하지만 마지막으로 나는 다른 방법을 찾는다. 나는 또한 당신의 명제로 시도 할 것입니다! ;-) 고맙습니다 – Olive

0

마침내, 감사합니다, 나는이 솔루션과 함께 작동합니다

$('.timer').circularCountDown() 
        for (;i==10;i++) { 
         clearInterval (inter); 
        }