2016-12-02 7 views
2

この質問はよく聞かれますが、私はコードをコピーできません。 時間がたつとイメージが変わります。私は間違ったコーディングエラーをたくさん作ったと思う。以下は私のコードです。助けを事前にタイマーの画像を変更する

おかげで、

ジャスパー

<!DOCTYPE html> 
    <html lang="en"> 
    <head> 
     <meta charset="UTF-8"> 
     <title>test</title> 
     <link rel="stylesheet" type="text/css" href="/css/styles.css"> 
    </head> 
     <body> 

     <img id="image" src="foto1.jpg"> 







      <script type = "text/javascript"> 

       var image=document.getElementById("image"); 
       function volgendefoto() { 

       if (images==0){ 
        image.src="foto2"; 

       } 

        if (images==1){ 
         image.src="foto2"; 

        } 
         if (images==3){ 
          image.src="foto1"; 

         } 
      } 

      function timer(){ 

       setInterval(volgendefoto, 3000); 
          } 

      var images= [], x = -1; 
       image[0]="foto1.jpg"; 
       image[1]="foto2.jpg"; 
       image[2]="foto3.jpg"; 



      </script> 
     </body> 
    </html> 
+0

は、「コードをコピーすることはできませんか」?学校の割り当てのように聞こえる。戻って私はどのようにcopypasteと変数名を変更することを知っていた;) – xShirase

+0

ええ、それは学校のためです。私はそれをコピーすればあまりにも明白です、彼らは私のコーディングの振る舞いとよくある間違いを知っています:) –

+0

@xShirase、haha ikr –

答えて

3
<!DOCTYPE html> 
    <html lang="en"> 
    <head> 
     <meta charset="UTF-8"> 
     <title>test</title> 
     <link rel="stylesheet" type="text/css" href="/css/styles.css"> 
    </head> 
     <body> 

     <img id="image" src="foto1.jpg"> 





     <script type = "text/javascript"> 

      var image=document.getElementById("image"); 
      var currentPos = 0; 
      var images = ["foto1.jpg","foto2.jpg","foto3.jpg"] 

      function volgendefoto() { 
       if (++currentPos >= images.length) currentPos = 0; 
       image.src = images[currentPos]; 
      } 

      setInterval(volgendefoto, 3000); 

     </script> 





     </body> 
    </html> 
+0

お返事ありがとうございます!できます! –

+0

「正しい答え」のようにplsしてください:) – ixpl0

+0

はい、私は3分以上待たなければならなかった –

2

あなたの間隔を作成していないが、タイマーが実行されることはありません。ここでループあなたの写真は、あなたの最初のイメージが画像であると仮定すると1がプリロードされます一つは(:ページロードのimages[0] === image.src例):だ

const image=document.getElementById("image"); 
    let images= ["foto1.jpg","foto2.jpg","foto3.jpg"], i = 0; 

    function volgendefoto() { 
     i<images.length?i+=1:i=0; 
     image.src=images[i]; 
    } 
    setInterval(volgendefoto, 3000); 
+0

あなたの素早い答えに感謝!私はその答えを理解することができるので、私はすでに上記の答えを取った!あなたのコードは、私にとって現時点では少し複雑です。 –

+1

constとletはES6宣言ですが、教師はあなたにそれらを使うように強制すべきです:pと三項式、それはちょうどifです。 – xShirase

+1

私は彼にそれについて尋ねます!ありがとう! –

関連する問題