電子書籍の厳選無料作品が豊富!

赤→黒→緑の画像を5秒ごとに切り替えたいのですが、時間を指定して順番に切り替えることはできるのでしょうか?

A 回答 (4件)

ごめんなさい。

最初のとき意図をとりちがえていたようです。
ページを読み込んだらすぐに3秒のカウントをはじめていい
んですよね。完全なコードは次のようになります。お試しください。すいませんでした。
<html>
<head>
<script type="text/javascript">
<!--
var pic= new Array('poro1','poro2','poro3')
var num = 0;
var itv = 3000; //間隔、単位ミリセカンド ie. 3000=3sec
function showPic () {
document.images['img'].src = 'image/' + pic[num] + '.jpg';
num++;
if(num > 2) num = 0;
setTimeout('showPic()', itv);
}
//-->
</script>

</head>
<body onLoad="showPic()">
<br>
<img id="img" src="image/poro1.jpg" height="180">
</body>
</html>
    • good
    • 0
この回答へのお礼

完璧です。ありがとうございました。

お礼日時:2006/03/06 17:55

既に、回答が出尽くしているので参考までに!



/*
 object の画像をパタパタと切り替えることを繰り返す。
-------------------------------------------------------------------
<body onLoad="patapatas(document.img, a_images, 500)">
-------------------------------------------------------------------
*/
function patapatas(object, a_images, duration ,count){
 if(count < a_images.length - 1){
  count ++;
 }else{
  count = 0;
 }
 object.src = a_images[count].src;
 var func=function(){patapatas(object, a_images, duration, count)}
 setTimeout(func, duration);
}

/*
 object の画像をパタパタと切り替えて最後の画像で停止。
-----------------------------------------------------
onclick="patapata(document.main.tv, a_tvs, 500, -1);
-----------------------------------------------------
*/
function patapata(object, a_images, duration ,count){
 if(count < a_images.length - 1){
  count ++;
  object.src = a_images[count].src;
  var func=function(){patapata(object, a_images, duration, count)}
  setTimeout(func, duration);
  }
}
    • good
    • 0
この回答へのお礼

ありがとうございます。参考にいただきます。

お礼日時:2006/03/07 08:08

回答したコードで、HTML部分の画像の拡張子を「jpg」


にしてましたね。実際動かしてなかったのですいません
でした。
えっと、お尋ねの件ですが、パスが合ってないだけだと
思います。
document.images['img'].src = '' + pic[num] + '.jpg';

document.images['img'].src = 'image/' + pic[num] + '.jpg';
で行くのではと・・・
動かなかったら、またください。
    • good
    • 0

できます。


<html>
<head>
<script type="text/javascript">
<!--
var pic= new Array('red','black','green')
var num = 0;
var itv = 5000; //間隔、単位ミリセカンド ie. 5000=5sec
function showPic () {
document.images['img'].src = '' + pic[num] + '.gif';
num++;
if(num > 2) num = 0;
setTimeout('showPic()', itv);
}
//-->
</script>
</head>
<body onLoad="setTimeout('showPic()', itv);">
<div align=center>
<img id="img" src="red.jpg">
</div>
</html>

この回答への補足

始めの一枚目の絵は出てきましたが2枚目以降がうまくいきませんでした…。原因は何なのでしょうか?3つのファイルporo1,poro2,poro3はimageフォルダの中にあります。imageフォルダとhtmlファイルは同じ階層です。

<html>
<head>
<script type="text/javascript">
<!--
var pic= new Array('poro1','poro2','poro3')
var num = 0;
var itv = 3000; //間隔、単位ミリセカンド ie. 3000=3sec
function showPic () {
document.images['img'].src = '' + pic[num] + '.jpg';
num++;
if(num > 2) num = 0;
setTimeout('showPic()', itv);
}
//-->
</script>

</head>
<body onLoad="setTimeout('showPic()', itv);">
<br>

<img id="img" src="image/poro1.jpg" height="180">


</body>
</html>

補足日時:2006/03/06 13:34
    • good
    • 0
この回答へのお礼

補足;画像はjpegを使用しています。3秒おきで設定してみました。

お礼日時:2006/03/06 13:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!