• 締切済み

複数枚画像を表示して一定時間で切り替える方法

画像を表示して一定時間で切り替える方法は別ページに記載されているものをみて出来たのですが、最初に複数枚表示してて、その画像を定時間で切り替えたいのですがご教授願います。 以下別質問で見つけたもの <!-- これを画像を張りたい位置に挿入。<body>~</body>内 --> <script type="text/javascript"> /* 設定部分 */ var interval = 3000; //切り替わる時間(1000=1秒) var imgs = new Array(); var hrefs = new Array(); imgs[0] = new Image(); imgs[0].src = "http://www.xxxxx.net/images/img-main/pake/013.jpg"; hrefs[0] = "http://www.xxxxx.net/moviepages/130923_707_01/index.html"; imgs[1] = new Image(); imgs[1].src = "http://www.xxxxx.net/images/img-main/pake/014.jpg"; hrefs[1] = "http://www.xxxxx.net/moviepages/130906_701_01/index.html"; imgs[2] = new Image(); imgs[2].src = "http://www.xxxxx.net/images/img-main/pake/015.jpg"; hrefs[2] = "http://www.xxxxx.net/moviepages/130830_698_01/index.html"; /* プログラム部分 */ var num = Math.floor(Math.random()*imgs.length); document.write('<a href="'+hrefs[num]+'" id="cth"><img src="'+imgs[num].src+'" id="cti" style="border:0" /></a>'); var cti = document.getElementById("cti"); var cth = document.getElementById("cth"); setInterval(function(){ num += Math.floor(Math.random()*(imgs.length-1))+1; if(num>=imgs.length) num -= imgs.length; cti.src = imgs[num].src; cth.href = hrefs[num]; },interval); </script> <!-- ここまで --> script初心者でよくわかりません><

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

指定要素の子要素の順番をランダムに入替えるごく単純な例です。 ランダムに入替えているので、同じところに同じものがくる可能性があります。 (全角空白は半角に) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>sample</title> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <style type="text/css"> #test img{ width:200px; height:80px; margin:0; padding:0; } </style> </head> <body> <div id="test"> <img src="img/photo01.jpg" alt=""> <img src="img/photo02.jpg" alt=""> <img src="img/photo03.jpg" alt=""> <img src="img/photo04.jpg" alt=""> <img src="img/photo05.jpg" alt=""> <img src="img/photo06.jpg" alt=""> </div> <script type="text/javascript"> var exChange = (function(){  var targets = function(id){   this.id = id;  }  targets.prototype.change = function(){   var i, e, items = [];   var pa = document.getElementById(this.id);   var ch = pa.childNodes;   for(i=0; e=ch[i++];) if(e.nodeType == 1) items.push(e);   while(items.length){    i = Math.floor(Math.random()*items.length);    pa.appendChild(items[i]);    items.splice(i, 1);   }  }  return function(id, interval){   var t = new targets(id);   setInterval(function(){t.change();}, interval);  } })(); exChange("test", 5000); //親要素のid、設定時間 </script> </body> </html>

pawoonpawoon
質問者

お礼

有難う御座います。早速上記もとに作成してみます。

  • k0021
  • ベストアンサー率26% (32/120)
回答No.2

参考URLの6・7・8あたりかな 2枚表示して、その画像を一定時間で切り替えていますが

参考URL:
http://www.openspc2.org/reibun/javascript/#18
pawoonpawoon
質問者

お礼

有難う御座います。早速参考URLをもとに作成してみました。 だいぶイメージに近づきました。

  • Br6
  • ベストアンサー率64% (9/14)
回答No.1

やりたいことはこういうことですかね? 1~7の7個の画像があるとして、1ページに表示するのは5個とします。 1、2、3、4、5 ↓ 2、3、4、5、6 ↓ 3、4、5、6、7 ↓ 4、5、6、7、1 ↓ 5、6、7、1、2 こんな感じで切り替わっていくというイメージでしょうか?

pawoonpawoon
質問者

お礼

イメージはそんな感じなのですが、欲をだせば ランダムにできればと思ってます。 1、2、3、4、5 ↓ 5、1、3、6、4 ↓ 7、2、1、5、3 みたいな不規則で、できるものなのでしょうか?

関連するQ&A