• ベストアンサー

<iframe>内にHTMLをランダム表示するには?続きです。

先日の<iframe>内にHTMLをランダム表示するには?の続きなのですが、 http://questionbox.msn.co.jp/qa2962976.htmlの疑問は 皆様のお力で解決しました。 誠にありがとうございました。 もう一つ教えて頂きたいことがあるのですが、 かなりの素人なので説明不足など分かりづらいところが多々あると思いますが、 何卒宜しくお願い致します。 同じhtmlに複数のiframeを配置し、 各iframeをランダムにしたいのです。 その際、各iframeは別々のフォルダーに収納されているhtmlを 表示するようにしたいです。 例えば、同じhtmlに iframe1、iframe2、iframe3があるとし、 01、02、03という3つのフォルダーの中に 01.html、02.html、03.htmlがそれぞれ収納されているとした場合、 iframe1は01のフォルダーの中のhtmlをランダムで表示し、 iframe2は02のフォルダーの中のhtmlをランダムで、 iframe3は03のフォルダーの中のhtmlをランダムで、 といったランダム表示にしたいです。 あまりの素人なので全く分かりませんので、 大変申し訳ありませんが、 多少いじってコピペするくらいまで完成されたソースを教えて頂けますでしょうか? 宜しくお願い致します。 ------------------------------------------------------------------------- 以下のソースは、 3つのiframeに同じフォルダー内のhtmlをランダムで表示させることができたソースです。 教えてもらいました。 こちらは参考までに載せました。_ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> <script type="text/javascript"> <!-- function RndmSubFlame(){ rlURL= new Array(); rlURL[0]="01.html" rlURL[1]="02.html" rlURL[2]="03.html" n=rlURL.length; x1=Math.floor(Math.random()*n); x2=Math.floor(Math.random()*n); x3=Math.floor(Math.random()*n); s01.location.href = rlURL[x1]; s02.location.href = rlURL[x2]; s03.location.href = rlURL[x3]; } //--> </script> </head> <body onload="RndmSubFlame()"> <table border="1" width="84%" height="87"> <tr> <td width="33%" height="81"><iframe src="a01.html" frameborder="0" width="100%" height="190" name="s01" scrolling="no"></iframe></td> <td width="33%" height="81"><iframe src="a01.html" frameborder="0" width="100%" height="190" name="s02" scrolling="no"></iframe></td> <td width="34%" height="81"><iframe src="a01.html" frameborder="0" width="100%" height="190" name="s03" scrolling="no"></iframe></td> </tr> </table> </body> </html> ------------------------------------------------------------------------- 以下のhtmlソースに書き加えてもらえると大変助かります。 何卒、宜しくお願い致します。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> </head> <body> <table border="1" width="45%" height="448"> <tr> <td width="46%" height="210"><iframe src="01/01.html" frameborder="0" width="100%" height="190" name="01" scrolling="no"></iframe></td> <td width="54%" height="442" rowspan="2"><iframe src="03/01.html" frameborder="0" width="100%" height="190" name="03" scrolling="no"></iframe></td> </tr> <tr> <td width="46%" height="226"><iframe src="02/01.html" frameborder="0" width="100%" height="190" name="02" scrolling="no"></iframe></td> </tr> </table> </body> </html>

質問者が選んだベストアンサー

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.2

こんにちは 01,02,03に入ってる01.html,02html,03htmlは同じものなのか?というちょっと(?)な部分があるけど・・・ こんな感じ・・・ <script language="javascript"> <!-- URL01=new Array("01/01.html","01/02.html","01/03.html"); URL02=new Array("02/01.html","02/02.html","02/03.html"); URL03=new Array("03/01.html","03/02.html","03/03.html"); function RndmSubFlame(){ i=URL01.length; j=URL02.length; k=URL03.length; x1=Math.floor(Math.random()*i); x2=Math.floor(Math.random()*j); x3=Math.floor(Math.random()*k); document.getElementById("s01").src = URL01[x1]; document.getElementById("s02").src = URL02[x2]; document.getElementById("s03").src = URL03[x3]; } //--> </script> <body onload="RndmSubFlame()"> <table border="1" width="45%" height="448"> <tr> <td width="46%" height="210"><iframe src="" frameborder="0" width="100%" height="190" id="s01" scrolling="no"></iframe></td> <td width="54%" height="442" rowspan="2"><iframe src="" frameborder="0" width="100%" height="190" id="s03" scrolling="no"></iframe></td> </tr> <tr> <td width="46%" height="226"><iframe src="" frameborder="0" width="100%" height="190" id="s02" scrolling="no"></iframe></td> </tr> </table> name(id)はアルファベットから始めてくださいね(^^) あとs01.location.href=URL01[x1];でもできるのですがfirefoxで表示できなかったのでdocumentgetElementByIdを使っています

その他の回答 (1)

noname#39970
noname#39970
回答No.1

原理だけ 前回urlを参考に1つずつ1回ずつランダムを発生 読み込む時の文字列を "01/"+rlURL[x] という方法で連結して渡す。 forの場合は pf=["01","02","03"] のように用意して(カウンタがiとして) pf[i] + "/" + rURL[x] のような連結をする。(階層名が数字ではなくなっても使える)

T-hiw
質問者

補足

お世話になります。 自分はかなりの素人なので、 親切にも教えて頂いたのにもかかわらず、 正直、良く分かりません。 誠にすみません。 できましたら、 記載のソースに書き加えては頂けないでしょうか? 大変お手数ですが何卒宜しくお願い致します。

関連するQ&A