• ベストアンサー

画像をランダムに表示するには

<script language=JavaScript> <!-- var img=new Array(); img[0]='画像1'; img[1]='画像2'; img[2]='画像3'; img[3]='画像4'; img[4]='画像5'; ran_gazo=Math.floor(img.length * Math.random()); document.write('<IMG SRC='+img[ran_gazo]+'>'); //--></script><!--scripted by shotyan@dreamcity--> というのを使いますよね?(あるサイトで見つけました)でも、画像があるべき場所に「×」がついて、画像が出ないんです・・ どうしたら画像がランダムに表示されるんでしょうか。 教えてください。 そして、その画像を右上に固定したいんです。 注文多くてごめんなさい。

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

  • ベストアンサー
noname#20964
noname#20964
回答No.3

<script type="text/javascript"> <!-- var img=new Array(); img[0]='http://...../image0.gif'; img[1]='http://...../image1.gif'; img[2]='http://...../image2.gif'; img[3]='http://...../image3.gif'; img[4]='http://...../image4.gif'; ran_gazo=Math.floor(img.length * Math.random()); document.write('<IMG name=\"RANIMAGE\" SRC=\"'+img[ran_gazo]+'\">'); document.RANIMAGE.style.position='absolute'; document.RANIMAGE.style.top='0'; document.RANIMAGE.style.right='0'; //--> </script> <!--scripted by shotyan@dreamcity--> こんなところで如何でしょうか。 一応scriptタグはtype属性に変えておきました。 画像が表示されないそうなのでhttpから画像のURLを書いてください。 画像にname属性をつけてその名前のimg要素にスタイルを設定できるようにしました。 そしてそれを絶対位置指定で右上に表示するようにしています。 ただし、もしこの画像が必ずbody内の最初のimg要素ならdocument.RANIMAGEをdocument.images[0]でもかまいません。 そのようにした場合name属性が必要なくなります。

その他の回答 (2)

  • kk00
  • ベストアンサー率20% (3/15)
回答No.2

ソース云々はまた別問題として、私もNo.1さんと同じで、画像のパスが合ってないんだと思います。 「×」となってる画像で、 お使いのパソコンがWinなら右クリックしてプロパティ表示。 Macならcontrol+クリックで、画像を新規ウィンドウで開いてみてください。 現在表示しようとしている画像のパス位置が分かります。 それが合ってるかどうかを確認して、間違っていたら「画像1、画像2・・・」のパスを直してください。

  • NTJ
  • ベストアンサー率44% (46/103)
回答No.1

多分ソレは、単に「画像1」の部分のURL指定が誤っているからではないかと思います。 試しに、 document.write('<IMG SRC='+img[ran_gazo]+'>'); ここを document.write('[IMG SRC='+img[ran_gazo]+']'); 等に書き換えてみれば、どう誤っているかがすぐ解るのではないかと。 安全なのは '画像1' 等の部分をフルパスで指定することですね。 ・・・・しかし、美しくないPGだなぁ・・・・ <SCRIPT language=JavaScript> <!-- var img=['画像1','画像2','画像3','画像4','画像5']; document.write('<IMG src='+img[Math.floor(img.length*Math.random())]+'>'); //--> </SCRIPT> コレで充分。 たった一度しか使わない乱数結果に、わざわざ変数を充てるのは冗長ですし、配列を宣言と代入に分けるのも冗長。 単純な処理は単純に作ったほうが、高速ですし、後々楽になります。

関連するQ&A

専門家に質問してみよう