前提・実現したいこと
JavaScriptのif文のループ処理をfor文で書きたい。
JavaScriptでif文を利用した背景画像のスライドショーをfor文に書き換えたいです。。
JavaScriptでif文を使い、背景画像のスライドショーを作りました。
調べて出てきたものをほとんど使いまわしているだけなのでfor文を使ったものに書き換えてみたいと書き換えたのはいいのですが、うまく動いてくれません。
if文を使ったスライドショー(動く)
<img id="back" src="photo1.jpg"> <script> var photo = new Array("photo1.jpg","photo2.jpg","photo3.jpg","photo4.jpg"); var num = 1; slide(); function slide(){ if (num == 3){ num = 0; } else { num ++; } document.getElementById("back").src=photo[num]; setTimeout("slide()",2500); } </script>
調べたものの使いまわしなのでこれはうまく動いてくれました。html内に書いています。
for文に書き換えたコード(動かない)
htmlとjsファイルに分けました。
html
1 <img id="back" src="photo1.jpg"> 2 <script type="text/javascript" src="slide.js"></script>
JavaScript
1var photo = new Array("photo1.jpg","photo2.jpg","photo3.jpg","photo4.jpg"); 2var num = 0; 3 4function slide(){ 5 for(var i = 0; i < 10; i++){ 6 num ++; 7 document.getElementById("back").src=photo[num]; 8 var id = setTimeout(slide(),2500) 9 }; 10 if(i > 15){ 11 clearTimeout(id); 12 } 13 } 14 15slide(); 16
上記のコードをはじめのhtml内に書いたものと同様に動くようにするにはどこを修正すればいいのでしょうか。
回答1件
あなたの回答
tips
プレビュー