javascriptで画像のランダム表示設定

このQ&Aのポイント
  • javascriptを使用して、3枚の画像をランダム表示されるように設定したいです。更新毎に常に異なる画像が表示されるようにします。
  • 特定のボックス内にあるimgタグをランダム表示にしたいです。
  • プログラムを自力で記述する能力が無いので、ソースを明示して頂けると助かります。
回答を見る
  • ベストアンサー

javascriptで画像のランダム表示設定

いつもお世話になっております。 過去に類似した質問が挙げられてましたが、 解決に至らなかったので、 質問させて頂きます。 javascriptを使用して、 3枚の画像をランダム表示されるように設定したいと思っております。 できれば、更新毎に常に異なる画像が表示されるようにしたいです。 ちなみに全体に適用ではなく、特定のボックスのみです。 こんな感じで現在は指定しております。 <div class="section1"> <img src="photo/xxx.jpg" alt="xxx" /> </div> ここのimgをランダム表示にしたいのですが、 どうも上手くいきません。 <script language="javascript"> <!-- // ランダムに画像を表示する img = new Array(); // 画像のアドレス img[0] = "photo/xxx.jpg"; img[1] = "photo/yyy.jpg"; img[2] = "photo/zzz.jpg"; n = Math.floor(Math.random()*img.length); document.write("<IMG src='"+img[n]+"' border='0'>"); document.write("</A>"); //--> </script> をbody内に挿入したのですが、 ダメでした。 ご指導の程宜しくお願い致します。 ちなみに当方、プログラムを自力で記述する能力が無いので、 できれば、ソースを明示して頂けると大変助かります。

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

  • ベストアンサー
  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.1

質問者様のソースをコピーして 当方のローカル環境で試してみたところ 全く問題無く動きましたよ。 <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)
回答No.2

あー、質問文をよく見ると『常に』異なる画像が表示されるようにしたいのか。 失礼しました。 クッキーを使う方法でとりあえず作ってみました。 <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> 突貫で作ったので至らないところがあったらごめんなさい

tale-ran
質問者

お礼

ありがとうございました! 希望通り、常に異なる画像を表示することができました。 body内であれば、scriptの設置場所はどこでも構わないと勘違いしておりました・・ cookieから値を取得できるんですね。 後半のプログラムはちっとも理解できません(笑 お世話になりました。

関連するQ&A

  • 画像をランダムに

    JavaScript初心者です。回答していただければさいわいです。 初心者といってもタグサイトからコピペしていじくるだけの者ですが。 画像をランダムに表示したいと思いJavaScriptを使用したのですが うまく表示させることができません。 画像自体表示していないことになってしまいます。 画像を表示させたい部分に <SCRIPT language="JavaScript"> <!-- // img = new Array(); img[0] = "t/1.jpg"; img[1] = "t/2.jpg"; img[2] = "t/3.jpg"; img[3] = "t/4.jpg"; img[4] = "t/5.jpg"; n = Math.floor(Math.random()*img.length); document.write("<img src='"+img[n]+"' border='0'>"); //--> </SCRIPT> とタグをうっているのですが、なにか足りないところがあるのでしょうか?

  • javaScriptでリンク画像のランダム更新表示

    画像をランダム表示する方法はわかったのですが、 各画像にリンク設定したいのと、 各画像の大きさをCSSのwidthやhighのように調整する方法をご教授ください。 <html> <body> <script type="text/javascript"> <!-- var imgURL = ["./images/1.jpg", "./images/2.jpg", "./images/3.jpg"]; var n = Math.floor(Math.random() * imgURL.length); document.write('<img src="'+imgURL[n]+'">'); // --></script> </body> </html>

  • Javascriptでランダムに画像を表示させる方法について

    画像をランダムに表示させる為にalphaEDIT v2.0.3に以下のようなスクリプトを貼り付けました。 しかし表示させる画像の位置を動かすことができません。どうすればよいでしょうか? グーグルやおしえてgooで検索しましたが、わかりませんでした。 どうかご教授おねがいします。m(_ _)m <script language="JavaScript"> <!-- ranimg = new Array(); ranimg[0]="test1.jpg"; ranimg[1]="test2.jpg"; xx = Math.floor(ranimg.length*Math.random()); ranimg = ranimg[Math.floor(xx)]; document.write('<img src="'+ ranimg +'">'); // --> </script>

    • ベストアンサー
    • HTML
  • javascriptで画像をランダム表示させたい

    javascriptで画像をランダム表示させたいと思い、下記ソースを記述しました。 下記ソースでは、画像をランダムに1枚ずつ表示するようになっています。 今回、1枚ずつではなく、50枚ある画像を10枚ずつランダムに表示させたいと思っています。下記ソースから修整するにはどのような考え方になるのか教えていただけませんか? 単純に、 "img/1.jpg", の部分を "img/1.jpg,img/2.jpg,img/3.jpg,img/4.jpg,img/5.jpg", としてみたのですが違うみたいですし、、。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>20110720test</title> </head> <body> <script language="JavaScript"><!-- myImageCnt = 5; myImage = new Array( "img/1.jpg", "img/2.jpg", "img/3.jpg", "img/4.jpg", "img/5.jpg" ) myRnd = Math.floor(Math.random()*myImageCnt); document.write("<img src='",myImage[myRnd],"' border='0' >"); // --></script> </body> </html>

  • 画像をランダムに表示させマウスを重ねるとさらに切り替わる方法

    今HPを作成しているんですが、題名の方法が知りたいです。 JavaScriptを使って画像をランダムに表示させる方法ありますよね。 <script language="javascript"> <!-- //ランダムに画像を表示 img = new Array(); img[0] = "画像1"; img[1] = "画像2"; img[2] = "画像3"; n = Math.floor(Math.random()*img.length); document.write("<img src='"+img[n]+"' border='0'>"); //--> </SCRIPT> それとマウスを重ねると画像が変わる onmouseover="this.src='画像4'" onmouseout="this.src='画像5'" というタグありますよね。 2つのタグを組み合わせてランダムに表示された画像に マウスを重ねると画像がかわるということがやりたいのですが JavaScriptの知識があまりないためわかりません。 この方法は可能でしょうか? もしくは他の方法あるでしょうか? ランダムに表示される画像は3枚と仮定し、 それぞれ3枚の画像はマウスを重ねるごとに 違う画像を表示させたいと思っています。 解決法をわかるかたがいらっしゃったら よろしくお願い致します。

    • ベストアンサー
    • HTML
  • 画像がうまく表示されないのですが

    ページを見るごとにランダムで画像が変わるタグを書き込んだのですが・・・ タグ1 <script language="JavaScript"> <!-- var simg=new Array(5); simg[0]="icon1.png"; simg[1]="icon2.png"; simg[2]="icon3.png"; simg[3]="icon4.png"; simg[4]="icon5.png"; var Myimg=Math.floor(5*Math.random()); document.write("<img src='"+simg[Myimg]+"'>"); //--> </script> タグ2 <SCRIPT LANGUAGE="JavaScript"> <!-- simg=new Array(2); simg[0]="<a href="XXX" target="_blank"><img src="XXX.jpg" border=0></a>"; simg[1]="<a href="XXX" target="_blank"><img src="XXX.jpg" border=0></a>"; Myimg=Math.floor(2*Math.random()); document.write("<img src='"+simg[Myimg]+"'>"); //--> </SCRIPT> タグ1はインフォシークのサーバーでは表示されたのですが、A-RINGSのサーバーでは表示されなかったので、サーバーの問題で表示されないのでしょうか? 表示されないとしたらどのようにしたら表示されるものなのでしょうか? タグ2はどちらのサーバーも表示されませんでした。 どうしたらちゃんと表示されますでしょうか?

  • かぶらないランダム画像

    こんにちは。 現在ランダムに画像表示+画像毎に各リンク+マウスオーバーで画像切り替え を下記スクリプトで行っております。 function randomImage1() { img = new Array(); img[0] = "photo1.gif"; img[1] = "photo2.gif"; img[2] = "photo3.gif"; img[3] = "photo4.gif"; n = Math.floor(Math.random()*2); url = 'URL1 URL2'.split(' '); document.write('<a href="'+url[n]+'" target="_top"><img src="'+img[n]+'" border="0" onMouseOver="this.src=\''+img[n-0+2]+'\'" onMouseOut="this.src=\''+img[n]+'\'" onClick="location.href=\''+url[n]+'\'"></a>'); } ここで相談です。さらにこのソースを改造して 重複しないでランダムに画像表示させたいのですが、 どこをどう改造すれば良いかアドバイス宜しくお願い致します。

  • ランダム画像&マウスオーバーで画像切り替え

    こんばんは。 下記内容を外部JSファイルにしたいのですがやり方がいまいちわかりません。 <script language="javascript"> <!-- //ランダムにgazouを表示 img = new Array(); img[0] = "gazou1.jpg"; img[1] = "gazou2.jpg"; img[2] = "gazou3.jpg"; img[3] = "gazou4.jpg"; img[4] = "gazou5.jpg"; img[5] = "gazou6.jpg"; n = Math.floor(Math.random()*3); m = n+3; document.write("<img src='"+img[n]+"' border='0' onmouseover=src='"+img[m]+"' onmouseout=src='"+img[n]+"'>"); //--> </script> どなたかご教授頂けると助かります。 よろしくおねがいいたします。

  • 画像をランダムに表示し、リンクもランダムにしたい

    下記の通りにしたら、ランダムに画像が表示され、 クリックすれば画像とペアになっているアドレス先に飛ぶことは出来たのですが そのときのリンク先をランダムにすることは出来ないでしょか? 例えば、img[2] の画像が表示された場合、jmp[2] ではなく 5つのアドレスの中からランダムにリンク先が決まる、 というようなことなんですが・・・。 // ランダムに画像を表示する jmp = new Array(); img = new Array(); // ジャンプ先のアドレス(数字は画像と対応) jmp[0] = "http://~"; jmp[1] = "http://~"; jmp[2] = "http://~"; jmp[3] = "http://~"; jmp[4] = "http://~"; // 画像のアドレス(数字はジャンプ先のアドレスと対応) img[0] = "img/img1.jpg"; img[1] = "img/img2.jpg"; img[2] = "img/img3.jpg"; img[3] = "img/img4.jpg"; img[4] = "img/img5.jpg"; n = Math.floor(Math.random()*jmp.length); document.write("<a href='"+jmp[n]+"' target='_blank'>"); document.write("<img src='"+img[n]+"' border='0'>"); document.write("</a>");

  • ランダム画像 & マウスオーバー画像切り替え &

    こんにちは。 どうしてもわからない事がありますので質問させて下さい。 下記ソースにてランダム画像切り替えとマウスオーバーにて画像変更を行ってます。 <script language="javascript"> <!-- //ランダムにgazouを表示 img = new Array(); img[0] = "gazou1.jpg"; img[1] = "gazou2.jpg"; img[2] = "gazou3.jpg"; img[3] = "gazou4.jpg"; img[4] = "gazou5.jpg"; img[5] = "gazou6.jpg"; n = Math.floor(Math.random()*3); m = n+3; document.write("<img src='"+img[n]+"' border='0' onmouseover=src='"+img[m]+"' onmouseout=src='"+img[n]+"'>"); //--> </script> さらにマウスオーバー時の画像それぞれ個別にリンクを張り さらにそれをインラインフレーム内で表示するのでtarget="_top"の値を付け加えたいです。 そのような事が可能であれば是非ご教授頂ければありがたいです。 みなさま、よろしくお願い致します。

専門家に質問してみよう