- ベストアンサー
javascriptで画像のランダム表示設定
- javascriptを使用して、3枚の画像をランダム表示されるように設定したいです。更新毎に常に異なる画像が表示されるようにします。
- 特定のボックス内にあるimgタグをランダム表示にしたいです。
- プログラムを自力で記述する能力が無いので、ソースを明示して頂けると助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
質問者様のソースをコピーして 当方のローカル環境で試してみたところ 全く問題無く動きましたよ。 <html> <body> <div class="section1"> <script language="javascript"> <!-- // ランダムに画像を表示する img = new Array(); // 画像のアドレス img[0] = "Sunset.jpg"; img[1] = "Water.jpg"; img[2] = "Winter.jpg"; n = Math.floor(Math.random()*img.length); document.write("<IMG src='"+img[n]+"' border='0'>"); //↓不要行っぽいのでコメントアウト。まぁわざわざコメントアウトしなくても動いたけど //document.write("</A>"); //--> </script> </div> </body> </html> ※ Apache 6.0を使用 確認したのはIE7のみ 問題は別のところにあるように思います。
その他の回答 (1)
- OKbokuzyo
- ベストアンサー率43% (130/296)
あー、質問文をよく見ると『常に』異なる画像が表示されるようにしたいのか。 失礼しました。 クッキーを使う方法でとりあえず作ってみました。 <html> <body> <div class="section1"> <script language="javascript"> <!-- // ランダムに画像を表示する img = new Array(); // 画像のアドレス img[0] = "Sunset.jpg"; img[1] = "Water.jpg"; img[2] = "Winter.jpg"; // 乱数を格納 var n = Math.floor(Math.random()*img.length); // クッキーに格納した値の格納領域 var c = ""; // クッキーから値を取得 if (document.cookie) { var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; i++) { var s = cookies[i].split("="); if (s[0] == "img") { c = unescape(s[1]); break; } } while (c == img[n]){ n = Math.floor(Math.random()*img.length); } } document.write("<IMG src='"+img[n]+"' border='0'>"); // クッキーへ書き込み document.cookie = "img=" + escape(img[n]); //--> </script> </div> </body> </html> 突貫で作ったので至らないところがあったらごめんなさい
お礼
ありがとうございました! 希望通り、常に異なる画像を表示することができました。 body内であれば、scriptの設置場所はどこでも構わないと勘違いしておりました・・ cookieから値を取得できるんですね。 後半のプログラムはちっとも理解できません(笑 お世話になりました。