Page 953 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ランダム画像表示方 ふけた少女 05/2/27(日) 21:03 ┣Re:ランダム画像表示方 Pid 05/2/27(日) 22:41 ┗Re:ランダム画像表示法 Pid 05/3/1(火) 18:41 ┗Re:ランダム画像表示法 ふけた少女 05/3/8(火) 21:38 ┗Re:ランダム画像表示法 debiru 05/3/8(火) 22:13 ─────────────────────────────────────── ■題名 : ランダム画像表示方 ■名前 : ふけた少女 ■日付 : 05/2/27(日) 21:03 -------------------------------------------------------------------------
下のを<HEAD>〜</HEAD>の間に入れて <SCRIPT Language="JavaScript"> <!-- function randomimage() { rimage = Math.floor(Math.random() * 4); //数値は画像の枚数 if (rimage == 0) { img = "a451.jpg" }; //画像のURLをここに書きます if (rimage == 1) { img = "sayuri1.jpg" }; //相対パスでも、絶対パスでも構いませんが if (rimage == 2) { img = "a431.jpg" }; //リンク切れの無いように・・・ if (rimage == 3) { img = "a441.jpg" }; //0〜枚数−1まで必要に応じて増やしてください(ここでは4枚) tag = "<IMG SRC='" + img + "' border=0 ALT='現在4枚からランダム表示しています'>"; }; // end--> </SCRIPT> 又下のを画像の入れたいところに入れるんですよね??? <SCRIPT Language="JavaScript"> <!-- randomimage(); document.write(tag); // end--> </SCRIPT> これを試したのですが画像が表示されませんでした。 何故でしょうか?画像はGIFの300×300です。 ヨロシクお願いします。 |
このスクリプトはご自分でお作りになったのでしょうか。 ・ 特に理由が無いのなら,script 要素には language 属性ではなく type 属性を使って下さい[*1]。 ・ 変数を使うときは,最初に必ず var を用いて宣言して下さい[*2]。 <script type="text/javascript"> function randomImage() { var imageList = [ 'a451.jpg', 'sayuri1.jpg', 'a431.jpg', 'a441.jpg' ]; var n = Math.floor(Math.random() * imageList.length); return '<img src="' + imageList[n] + '" alt="">'; } </script> >又下のを画像の入れたいところに入れる <script type="text/javascript"> document.write(randomImage()); </script> ---------- [*1] script 要素は type 属性が必須で,language 属性は非推奨です。JavaScript 1.1 や 1.2 を特に使用するのでなければ,language 属性は必要はありません。 [*2] var を用いずに変数をいきなり初期化すると,その変数はグローバル変数になってしまい,バグの温床になります。また,var で宣言していない変数の値を取得しようとすると当然エラーになります。今回の元スクリプトのように,変数 tag をグローバル変数として扱いたいのであれば,関数外であらかじめ宣言しておくべきです(しかしそれでも,tag というありふれた名前をグローバル変数に付けてはいけません)。 [**] あと,些細な点ではありますが,スクリプト内で「<」「>」を使用する場合はなるべく外部ファイルにして下さい。外部ファイルにした場合,スクリプトに書かれた相対 URI の基準が呼び出し元の HTML 文書になるのに注意。 |
こんなんでも良いかもしれません(某所でのある方のパクリ(いやリスペクト (^^;))ですが)。 <script type="text/javascript"> function SrcList() { this.length = 0; Array.prototype.push.apply(this, arguments); } function RandomSelector() { this.image = this[ Math.floor(Math.random() * this.length) ]; } function RandomImage() { SrcList.apply(this, arguments); } RandomImage.prototype.putHere = function() { // 手抜きメソッド (^^;) RandomSelector.call(this); document.write('<p><img src="' + this.image + '" alt=""></p>'); } //---------------------------------------- // 【使用例】 // 下の例だと,4 つの画像を変数 img1 に,3 つの画像を img2 に格納します。 var img1 = new RandomImage( 'a451.jpg', 'sayuri1.jpg', 'a431.jpg', 'a441.jpg' ); var img2 = new RandomImage( 'b499.jpg', 'sayuri9.jpg', 'a444.jpg' ); </script> >又下のを画像の入れたいところに入れる <script type="text/javascript"> // img1,img2 それぞれの中からランダムに画像を一つ選択して表示。 img1.putHere(); img2.putHere(); </script> |
返事有難うございます。 挑戦しましたがむりでした・・・ 何故でしょうか? サーバーは、ジオです。 ↑これのせいでしょうか? |
何に挑戦したのでしょうか? JavaScriptは扱えますか? サーバーは問題ないと思います。 修正後のページかソースを見せてください。 |