2016-03-20 19 views
1

Bu kod yürütme işleminin üç kez sonra durmasını sağlamak için yardım etmek ister misiniz?Fotoğrafı html olarak nasıl değiştirebilirim

Üç fotoğraflar var ve üç kez değiştirmek ve

<!DOCTYPE html> 

<html> 
    <head> 
     <title>change picture</title> 
     <script type = "text/javascript"> 
      function displayNextImage() { 
       x = (x === images.length - 1) ? 0 : x + 1; 
       document.getElementById("img").src = images[x]; 
      } 

      function displayPreviousImage() { 
       x = (x <= 0) ? images.length - 1 : x - 1; 
       document.getElementById("img").src = images[x]; 
      } 

      function startTimer() { 
       setInterval(displayNextImage, 3000); 
      } 

      var images = [], x = -1; 
      images[0] = "image1.jpg"; 
      images[1] = "image2.jpg"; 
      images[2] = "image3.jpg"; 
     </script> 
    </head> 

    <body onload = "startTimer()"> 
     <img id="img" src="1.jpg"/> 
     <button type="button" onclick="displayPreviousImage()">Previous</button> 
     <button type="button" onclick="displayNextImage()">Next</button> 
    </body> 
</html> 

bana yardım edebilir durdurmak istiyor?

+0

Soru sorduğunuzda (tüm) alakalı etiketleri eklemeye çalışın; bu şekilde, çok daha fazla insan ulaşabilir -ve böylece denemek ve yardım etmek. HTML, bu sorunun ne hakkında olduğu değil, javascript olmalı. İyi şanslar! – SND

+0

'clearInterval' yöntemini kullanmak zorundasınız, [w3schools.com Window clearInterval() Yöntemine bakın] (http://www.w3schools.com/jsref/met_win_clearinterval.asp) – Spidey

cevap

1

setInteval işlevini durdurmak için clearInterval kullanın.

<!DOCTYPE html> 
 

 
<html> 
 
    <head> 
 
    <title>change picture</title> 
 
    <script type = "text/javascript"> 
 
     var interval = 0; 
 
     var counter = 0; 
 
     
 
     function displayNextImage() { 
 
     x = (x === images.length - 1) ? 0 : x + 1; 
 
     document.getElementById("img").src = images[x]; 
 
     counter++; 
 
     console.log(counter); 
 
     if (counter == 3) { 
 
      clearInterval(interval); 
 
     } 
 
     } 
 

 
     function displayPreviousImage() { 
 
     x = (x <= 0) ? images.length - 1 : x - 1; 
 
     document.getElementById("img").src = images[x]; 
 
     } 
 

 
     function startTimer() { 
 
     interval = setInterval(displayNextImage, 3000); 
 
     } 
 

 
     var images = [], x = -1; 
 
     images[0] = "http://i.stack.imgur.com/0qVbB.jpg"; 
 
     images[1] = "http://i.stack.imgur.com/Z4D6Z.jpg"; 
 
     images[2] = "http://i.stack.imgur.com/JbyGx.jpg"; 
 
    </script> 
 
    </head> 
 

 
    <body onload = "startTimer()"> 
 
    <img id="img" src="http://i.stack.imgur.com/0qVbB.jpg"/> 
 
    <button type="button" onclick="displayPreviousImage()">Previous</button> 
 
    <button type="button" onclick="displayNextImage()">Next</button> 
 
    </body> 
 
</html>

+0

Bu soru sizin cevabınız mı? –

+0

evet. Yardımınız için teşekkürler –

+0

Duyduğuma sevindim :) Lütfen [kabul et] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235) diğer insanlara yardımcı olacaktır. –

0

bu sorun zaten here (kabul edilen cevabını, ikinci kod bloğu) çözüldü!