• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ランダムで文字を表示)

質問:ランダムで文字を表示

このQ&Aのポイント
  • 質問なのですが、最後から3行目の[i-5]の5は何を意味しているのでしょうか?
  • JavaScriptを使って作成したコードですが、理解できていない部分があります。
  • 誰か教えていただけると助かります。

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

  • ベストアンサー
  • chiwa-CF
  • ベストアンサー率51% (36/70)
回答No.2

>現在以下のように複数のテキストの中からランダムで3つずつ表示しています。 moji[1]~[6]に登録されたテキストのうち、ランダムで選ばれた1~6の数字から順番に3つ表示するプログラムですね。 つまり、 1が選ばれれば、moji[1]、moji[2]、moji[3]を表示 2が選ばれれば、moji[2]、moji[3]、moji[4]を表示    ・    ・ 5が選ばれれば、moji[5]、moji[6]、moji[2]を表示 6が選ばれれば、moji[6]、moji[2]、moji[3]を表示 としようとしてます。 (5と6がおかしい感じなのは一番下で解説しています。) for(i=I;i<=I+2;i++){    if ( i<=6 ){ document.write(moji[i]+"<BR>"); }    else{ document.write(moji[i-5]+"<BR>"); }    } iの値が、ランダムで選ばれた1~6のいずれかの数字(I)からスタートして、 +2した値(I+2)までループする処理です。 この場合、Iが5や6になると、+2した値が7や8になってしまい、 参照する文字がなくなってしまうので、-5しているのです。 これにより、7は2に、8は3になります。 本当は 5が選ばれれば、moji[5]、moji[6]、moji[1]を表示 6が選ばれれば、moji[6]、moji[1]、moji[2]を表示 のほうがいいように感じます。 この場合-5でなく-6にしてみてください。

qoopzzz
質問者

お礼

丁寧にありがとうございます! とりあえずHPで使う事ができますm(__)m 勉強になりました。意味を理解しながら見てみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

>for(i=I;i<=I+2;i++){ >   if ( i<=6 ){ document.write(moji[i]+"<BR>"); } >   else{ document.write(moji[i-5]+"<BR>"); } else{...}になる条件は i が7以上なので、6以下にするために5を引くという単純なことですけど・・・

qoopzzz
質問者

お礼

最初から計算式を見て勉強してみます。 ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • お世話になります。

    お世話になります。 複数のテキストリンクをランダムで3つ表示させていまして、 各文の頭にリストマークを付けたいのですが良い方法はあるでしょうか? <li>タグ <img>タグ を中に入れてみたのですがうまくいきません。。 <li>タグ <img>タグ どちらでも(全く別の方法でも)良いので文字の頭に小さい画像を入れたいです。 現在使用しているスクリプトです。 (頂いてきた物を少しいじる程度しか知識がありません。。。) <SCRIPT LANGUAGE="JavaScript"> <!-- A=6 moji=new Array(A) moji[1]="⇒ <A href='http://www.○○○○○.com/'>あああああ</A>"; moji[2]="⇒ <A href='http://www.×××××.com/'>いいいいい</A>"; moji[3]="⇒ <A href='http://www.□□□□□.com/'>ううううう</A>"; moji[4]="⇒ <A href='http://www.△△△△△.com/'>えええええ</A>"; moji[5]="⇒ <A href='http://www.●●●●●.com/'>おおおおお</A>"; moji[6]="⇒ <A href='http://www.■■■■■.com/'>かかかかか</A>"; I= Math.floor(Math.random ()*A+1) ; //--> <!-- for(i=I;i<=I+2;i++){    if ( i<=6 ){ document.write(moji[i]+"<BR>"); }    else{ document.write(moji[i-5]+"<BR>"); }    } //--> </SCRIPT> どうぞよろしくお願いします!

  • 外部JSファイルでランダム表示と一度クリックで2箇所リンクのものを組み合わせたいんです。

    初心者で申し訳ありません。 外部JSファイルでランダム表示をつかっているのですが、リンクの箇所で一回のクリックで2箇所にリンクするのを組み合わせたいと思ってます。 ランダム表示 <!-- //並べ替え表示スクリプト function Random(x) { //fは掲載する広告数 f =3; var Num = new Array(f - 1); var Chk = new Array(f - 1); var Mess = new Array(f - 1); //***ここに広告表示HTMLの配列作成 Mess[0] = ' <A href="http://aa.com" target="_blank">testtest</A>'; Mess[1] = ' <A href="http://bb.com" target="_blank">testtest</A>'; Mess[2] = ' <A href="http://cc.com" target="_blank">testtest</A>'; //***ランダムで0~f-1の値を並べ替え for (i=0;i<f;i++) // { Num[i] = Math.floor(Math.random()*f); if (Chk[Num[i]] == 1){ while(Chk[Num[i]] == 1){ Num[i] = Math.floor(Math.random()*f); } Chk[Num[i]] = 1; } else { Chk[Num[i]] = 1; } } //HTML作成部分 for (i=0;i<x;i++) // { document.write(Mess[Num[i]]); document.write(Mess[Num[i+1]]); document.write(Mess[Num[i+2]]); } } //--> 上のランダムに出力されるリンクを下のような形みたいに、それぞれのURLが1クリックで2箇所リンクされるようにしたいです。 <A href="http://aa.com" target="_blank" onclick="window.open('http://dd.com')" >test</A> もしお分かりの方がいたら何卒よろしくお願いします。 もしわかりづらかったらごめんなさい。

  • 更新ごとに重複しない画像を5枚表示

    初心者です。よろしくお願い致します。 複数ページ存在するうちの、各ページを更新するごとにランダムに変わる、重複しない5枚の画像を表示させたいと思います。 今現在、サイト上に掲載されてあったJavaScriptのサンプルを自分なりに変更してテストしているのですが、「重複しない」というところで壁にぶち当たってしまっています。 下記が現在のスクリプトです。 <body> <script language="JavaScript"><!-- jumpURL = new Array(); imgURL = new Array(); jumpURL[0] = "アドレス"; jumpURL[1] = "アドレス jumpURL[2] = "アドレス"; jumpURL[3] = "アドレス"; jumpURL[4] = "アドレス"; jumpURL[5] = "アドレス"; jumpURL[6] = "アドレス"; jumpURL[7] = "アドレス"; imgURL[0] = "top_img01.jpg"; imgURL[1] = "top_img02.jpg"; imgURL[2] = "top_img03.jpg"; imgURL[3] = "top_img04.jpg"; imgURL[4] = "top_img05.jpg"; imgURL[5] = "top_img06.jpg"; imgURL[6] = "top_img07.jpg"; imgURL[7] = "top_img08.jpg"; a = Math.floor(Math.random()*jumpURL.length); document.write("<a href='"+jumpURL[a]+"'>"); document.write("<img src='"+imgURL[a]+"' border='0'><br>"); document.write("</a>"); b = Math.floor(Math.random()*jumpURL.length); document.write("<a href='"+jumpURL[b]+"'>"); document.write("<img src='"+imgURL[b]+"' border='0'><br>"); document.write("</a>"); c = Math.floor(Math.random()*jumpURL.length); document.write("<a href='"+jumpURL[c]+"'>"); document.write("<img src='"+imgURL[c]+"' border='0'><br>"); document.write("</a>"); d = Math.floor(Math.random()*jumpURL.length); document.write("<a href='"+jumpURL[d]+"'>"); document.write("<img src='"+imgURL[d]+"' border='0'><br>"); document.write("</a>"); e = Math.floor(Math.random()*jumpURL.length); document.write("<a href='"+jumpURL[e]+"'>"); document.write("<img src='"+imgURL[e]+"' border='0'><br>"); document.write("</a>"); // --></script> </body> 現在では、画像枚数が8枚ですが、4、50枚に増える予定です。 また、スクリプトを書きやすくするために画像ファイルの名前をどのように変更してもかまわないと思っています。 上記のスクリプトは5枚の画像が表示されることはされるのですが、更新してから表示するまでの待ち時間が長いのが気になるので、できれば、欲を言うならば、早く表示してくれるようなスクリプトをご伝授していただければと思います。 よろしくお願い致します。

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

    下記の通りにしたら、ランダムに画像が表示され、 クリックすれば画像とペアになっているアドレス先に飛ぶことは出来たのですが そのときのリンク先をランダムにすることは出来ないでしょか? 例えば、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>");

  • JSを用いてサイトを開いた際にランダムでバナー表示する仕組みを作りたい

    JSを用いてサイトを開いた際にランダムでバナー表示する仕組みを作りたいと思っているのですが、 2のバナーの時には別窓で開き1のバナーの時はセルフで開くような設定を施す場合は どの用に書けばいいでしょうか? 一応いろいろと調べて下記までは書いてみたのですが。。。 うまく動きません。。。 どなたか助けていただけませんでしょうか? よろしくお願いします。 <SCRIPT language="JavaScript"> <!-- // ランダムに画像を表示する jmp = new Array(); img = new Array(); tgt = new Array(); // ジャンプ先のアドレス(数字は画像と対応) jmp[0] = "wwwwwww.com"; jmp[1] = "wwwwwww.com"; // 画像のアドレス(数字はジャンプ先のアドレスと対応) img[0] = "img/01.jpg"; img[1] = "img/01r.jpg"; // ブランクの指定 tgt[0] = "_self"; tgt[1] = "_blank"; n = Math.floor(Math.random()*jmp.length); document.write("<a href='"+jmp[n]+"'>"); document.write("<img src='"+img[n]+"' target='"+tgt[n]+"' border='0'>"); document.write("</a>"); //--> </SCRIPT>

  • ランダム表示

    某サイトで このようなスプリクトを手に入れたのですが 設置した際に 横310X縦190と言う 表示画像サイズの指定の仕方が わかりません いろいろ 試したのですが 素人のため なかなか うまくいきません 下のスプリクトにどこにどのようなタグを入れていいのか教えてください  皆様お力を貸してください <SCRIPT language="JavaScript"> <!-- // ランダムに画像を表示する jmp = new Array(); img = new Array(); // ジャンプ先のアドレス(数字は画像と対応) jmp[0] = "http://www.yahoo.co.jp/"; jmp[1] = "http://bb.yahoo.co.jp/"; jmp[2] = "http://www.yahoo.co.jp/"; jmp[3] = "http://auctions.yahoo.co.jp/"; jmp[4] = "http://aeu.jp/cs/"; // 画像のアドレス(数字はジャンプ先のアドレスと対応) img[0] = "img/img0.jpg"; img[1] = "img/img1.jpg"; img[2] = "img/img2.jpg"; img[3] = "img/img3.jpg"; img[4] = "img/img4.jpg"; n = Math.floor(Math.random()*jmp.length); document.write("<a href='"+jmp[n]+"'>"); document.write("<img src='"+img[n]+"' border='0'>"); document.write("</a>"); //--> </SCRIPT>

  • バナーのランダム表示のリンクを別窓で開きたい

    バナーのランダム表示は出来るのですが、それらを開くとき 別窓で開きたいのですが、どうしたら良いのでしょうか? 下記が現在使用しているJavaScriptです。これに何かを足せば リンクを別窓で開けるのでしょうか? <script language="JavaScript"><!-- jumpURL = new Array(); imgURL = new Array(); jumpURL[0] = "リンクURL0"; jumpURL[1] = "リンクURL1"; jumpURL[2] = "リンクURL2"; jumpURL[3] = "リンクURL3"; imgURL[0] = "画像URL0"; imgURL[1] = "画像URL1"; imgURL[2] = "画像URL2"; imgURL[3] = "画像URL3"; n = Math.floor(Math.random()*jumpURL.length); document.write("<a href='"+jumpURL[n]+"'>"); document.write("<img src='"+imgURL[n]+"' border='0'>"); document.write("</a>"); // --></script> 以上です。宜しくお願い致します。

  • 画像リンクをランダムに4つ表示する

    このようなタグを使って、画像リンクのランダム表示を作成しました。 ((hard内)) <script type="text/javascript"><!-- // var imglist = [ [ "画像1", "", "リンク先1" ] , [ "画像2", "", "リンク先2" ] ]; function RandomImageLink() { // var selectnum = Math.floor(Math.random() * imglist.length); // var output = '<a href="' + imglist[selectnum][2] + '">' + '<img src="' + imglist[selectnum][0] + '"' + ' alt="' + imglist[selectnum][1] + '"><br>' + imglist[selectnum][1] + '</a>'; // document.write(output); } // --></script> ((body内)) <script type="text/javascript"><!-- RandomImageLink(); // --></script> こうしてランダムに表示できるようになったのですが、私は『ランダムに1つ表示』ではなく、『ランダムに4つ表示』にしたいのです。 …どうすればいいのでしょうか? どなたか回答をお願いします。

  • バナーのランダムな並べ替え

    ABCDEの広告サイトバナーがあるとして各サイトのバナーが3種類あるとします A-1、A-2、A-3...合計15個のバナーがあります。 下記で各サイトの3つのバナーをランダムで一つ表示させています <script language="JavaScript"> <!-- サイトA=new Array(); サイトA[0]='A-1'; サイトA[1]='A-2'; サイトA[2]='A-3'; i=Math.floor(Math.random()*サイトA.length); document.write(サイトA[i]); // --> </script> このようにABCDEと追記して5つのバナーを表示しているのですがこの5つのバナーの順序を リロードする度にランダムに並び替えたいのですが良い方法はないでしょうか?

  • ランダム表示画像へ説明文を表示したい。

    ランダムな画像表示に対しそれぞれへの個別リンク設定をし、 個々の画像にカーソルを重ねた時に説明文を表示するようにしようと思っています。 画像とリンクはうまくいっているのですが説明文が表示されません 記述は下記のようにしました。 間違っているところを訂正していただけないでしょうか、 お願いします。 <script language="JavaScript"> <!-- // ランダムに画像を表示する jmp = new Array(); img = new Array(); // ジャンプ先のアドレス(数字は画像と対応) jmp[0] = "http://www.marucho-powertec.com/contents/powercool.html"; jmp[1] = "http://www.marucho.co.jp/mbs/cnts/option1/?c=seakayak"; // 画像のアドレス(数字はジャンプ先のアドレスと対応) img[0] = "image/k_imgae/index/event/h23powercool.gif","遮熱塗料パワークール"; img[1] = "image/k_imgae/index/event/h23.08.18.jpg","シーカヤックガイドツアー"; n = Math.floor(Math.random()*jmp.length); document.write("<a href='"+jmp[n]+"'>"); document.write("<img src='"+img[n]+"' border='0'>"); document.write("</a>"); //--> </script>