![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.4ベストアンサー
- 回答日時:
do 以下の内容をコピーするとのことですが、ちょっとだけ修正を加えていただけないでしょうか?
といいますのが、今回No1で書いたソースは、配列の要素数を気にしないように、固定の数を使わないようにしようとしていました。
・・・が、
if (random_num != 3) {
のところで「3」ともろに使ってしまっていました。
この部分を
if (random_num != Comments.length) {
と変更していただけないでしょうか。
よろしくお願いします。
No.3
- 回答日時:
<html>
<head>
<script type="text/javascript">
<!--
var W;
function sample() {
var num=Math.floor(Math.random()*3);//乱数の生成
var com;//コメントを入れる器
var imgsrc;//イメージのsrcを入れる器
if(num==0){
imgsrc="画像1.jpg";
com="コメント1";
}
else if(num==1){
imgsrc="画像2.jpg";
com="コメント2";
}
else{
imgsrc="画像3.jpg";
com="コメント3";
}
W = window.open("", "");
window.W.document.write("<html><body><div>"+com+"</div><br><div><img src='"+imgsrc+"'></div></body></html>");
}
-->
</script>
</head>
<body>
<img src="バナーへのパス.gif" alt="バナー" onClick="sample()">
</body>
</html>
>ANo.1さんのものを単純化して、すこし修正しました。
こういう感じだと汎用が高いかと。
いろんな方法もあるんですね。まだよくわかってないので、ずっと頭を悩ませていたのが嘘みたいです。
参考にさせていただきました。
ありがとうございました。
No.2
- 回答日時:
ランダムな動作には乱数を用います。
処理は JavaScript で。
lvnRet=window.top.Math.floor(lvnHigh*window.top.Math.random()+lvnLow);
上記により、lvnLow 以上 lvnHigh 未満の整数値の乱数が lvnRet に得られます。
lvnRet=window.top.Math.floor((lvnHigh+1)*window.top.Math.random()+lvnLow);
上記の場合は lvnHigh 未満を以下とする事ができます。
後は、if文による判断にて処理をA用, B用, C用, と分けるも良し
配列を用いて得た値を添え字とするも良し・・・。
ただし配列の場合、ブラウザ等閲覧者の環境により
少々振る舞いが異なったりするので注意が必要。
仮に今回の様にデータが3件として
添え字0が1件目を指す場合と件数情報を保持する場合とが・・・。
(CGIの様に環境が固定ならいいのですが、今回の提示は JavaScript というどの様な環境で動くか閲覧者次第という重要なポイントが。)
という事でデータ件数及び内容が固定で且つ少ない今回の様な場合は、if文による処理分岐をお勧めします。
本当の処の理想は、乱数を求める汎用的な関数,配列を作る汎用的な関数,配列を扱う為の汎用的な関数・・・
と、いろいろ関数を用意して処理するのが良いのですが・・・、結構大変です。
当方、Javascriptに取り組み始めたばかりで、正直、koutarou504様のおっしゃる内容も、わかったようなわからないような・・・。
関数に関しては理解力がその域にまで達していませんが、頑張りたいと思います。
ありがとうございました。
No.1
- 回答日時:
配列に説明文と画像の順番が対応するように説明文と画像を登録し、ランダム関数を用いてアクセスする番号を決定します。
以下に例を載せます。
<HTML>
<head>
<script language="javascript">
<!--
var W;
function sample() {
var Comments = new Array("コメント1", "コメント2", "コメント3");
var Images = new Array("画像1.jpg", "画像2.gif", "画像3.tif");
do {
//ランダムで0~2の数字を算出する
//Math.floor:小数点以下切捨て
//Math.random:0~1の範囲でランダム数を生成
random_num = Math.floor(Math.random() * Comments.length);
if (random_num != 3) {
//算出結果が0~2の範囲だったら、ループを抜ける。3の場合だけループする。
break;
}
} while (1);
W = window.open("", "");
window.W.document.write("<html><body><div>" + Comments[random_num] + "</div><div><img src='" + Images[random_num] + "'></div></body></html>");
}
-->
</script>
</head>
<body>
<img src="バナーへのパス.gif" alt="バナー" onClick="sample()">
</body>
</HTML>
コメント、画像へのパス、バナーへのパスは適当なものに置き換えてください。
すぐに回答いただき、ありがとうございました。
初心者でよくわからなかったので、(do { 以下)コピーしてそのまま使わせていただいてよろしいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで行を一つにする方法を教えてください 3 2022/04/21 14:07
- LINE LINEで表示されているメッセージについて 1 2022/11/17 18:26
- Word(ワード) wordに画像のある文章を貼り付けたのですが、画像が表示されません。そもそも機能として出来るのでしょ 4 2023/02/13 00:22
- HTML・CSS 要素の幅をいろんな写真の幅に合わせたい。 1 2022/07/25 20:11
- その他(プログラミング・Web制作) このWEB用語、WEB文章、意味が分かりますか? 理解できない人が多いようなんですが・・・ 7 2022/10/22 09:13
- WordPress(ワードプレス) ワードプレスで、左寄せ画像と文字を横並びにせず、画像の下に文字を表示される方法を教えてください 1 2022/04/24 11:06
- Mac OS ofice365をMacでプリントしたい 5 2023/04/16 07:25
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/04/21 13:46
- X(旧Twitter) Twitterの警告について 1 2022/09/07 18:28
- 日本語 高一漢文 画像あり 〔 スタディあワーク解説 84ページ 〕 画像の文章の 則ち がどのような意味で 4 2023/08/16 15:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クリックで背景変更するタグ
-
JavaScript で flexslider の画...
-
VB2005 でビットの深さ8の画像...
-
image.onload = .. の後に imag...
-
右クリック禁止スクリプト挿入法
-
JavaScript スライドの画像にリ...
-
スライドショー作成方法。
-
JavaScriptのOff
-
一定日本時間で画像変更 Java S...
-
Photoswipeのアニメーションの変更
-
2種類できますか?
-
時間で画像表示が変化する方法
-
ロールオーバーで切り替えられ...
-
バナー広告のように表示させた...
-
どの<li><a> が押されたか判別...
-
マウスオーバーのメニューについて
-
「jQuery」アコーディオンメニ...
-
jqueryのsortableで一部ソート...
-
画像の表示位置
-
jQueryで画像を重ねる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
textareaに画像を表示したい
-
JavaScript スライドの画像にリ...
-
HTMLで条件分岐はできますか?
-
画像ランダム表示、しかしダブ...
-
bxsliderにて読み込み後に内容...
-
画像を切り替えランダム表示
-
1枚の画像をクリックすると複数...
-
Gifアニメ、最後のコマに行った...
-
画像の重なりの順序を代える方...
-
小窓について教えて下さい。
-
スライダーを実装した場合、ペ...
-
スワップイメージが上手く動作...
-
USEMAPでの指定区域にマウスオ...
-
1枚の画像をクリックして複数の...
-
クリッカブルマップの一部分だ...
-
オンマウスで、画像切り替え+...
-
iframe内のリンク文字のマウス...
-
edgeでスクロールバーに色が表...
-
画像の上に画像リンクを貼る方法
-
prettyphotoの画像表示について
おすすめ情報