• 締切済み

document.write以外の方法での記述法

javascript無知識なのですが 諸事情により下記のjsをdocument.write以外の方法で記述しなければならないのですが document.write以外の記述で同じ効果が得られる記述法ってないのですか? あればご教示よろしくお願いします。 <script language="javascript"> <!-- function rotationAdv() { m = 0, x = 0, y = 0; ad = new Array(); adv = new Array(); hit = new Array(); hit[0] = 1; adv[0] = 'A'; hit[1] = 1; adv[1] = 'B'; hit[2] = 1; adv[2] = 'C'; for(i=0; i<=hit.length - 1; i++) { m += hit[i]; } n = Math.floor(Math.random() * m); n++; for(i=0; i<=hit.length - 1; i++) { x = y; y += hit[i]; if(x<n && n<=y) ad = adv[i]; } document.write(ad); } rotationAdv(); //--> </script>

noname#187804
noname#187804

みんなの回答

  • qbr2
  • ベストアンサー率50% (62/123)
回答No.3

document.getElementById("id1").innerHTML=ad; としておいて、BODYのonloadで関数を呼び出せば、 <div id="id1"></div> ←このタグの部分で表示されます。 なんてことは、可能ですね。 それで良いのかは、その「諸事情」ってやつ次第なんですが。 adは配列だけど、結果的に配列の1要素を代入してるし・・・ なんでadをnew arrayしてるのか、さっぱりわからない。。。

  • taporu
  • ベストアンサー率44% (46/104)
回答No.2

document.getElementById(Nakami).innerHTML = ad; にかえて <div id="Nakami"></div> をbody内に入れる。 javascriptを使えないブラウザに考慮して、 <div id="Nakami">このブラウザでは表示できません</div> と書くのも良いでしょう。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

どうしたいかによりますが、手っ取り早いのは textareaにvalueを指定して書き込んでしまうこと。 そうでなければ挿入するポイントを指定してDOMで書きだすこと。 ただしadは配列なので(?)そのまま記述するのはNGでしょう。 どういう風に書きたいかを提示した方がいい気がしますが・・・

関連するQ&A

  • jsファイルをhtml内で実行したい

    広告を入れ替えるjavascriptファイルがネット上で公開されているのですが それを使うにはjsファイルをダウンロードしてからサーバーにアップして、別途、htmlに実行させる記述を行えと書いていまして それは解説どおりにやればできたのですが、 この度、事情により、そのjsファイルを外部ファイルとしてではなく、html内に組み込みたい(組み込まなければならなくなった)のですが 素人でも簡単にできますか? jsファイルをメモ帳で開いてコピペして、実行する記述を追加すれば作動しますか? もし答えがYESなら実行する記述もご教示願います。 jsファイルの内容は次のとおりです。 function rotationAdv() { m = 0, x = 0, y = 0; ad = new Array(); adv = new Array(); hit = new Array(); // 広告0 hit[0] = 1; adv[0] = '広告タグ'; // 広告1 hit[1] = 1; adv[1] = '広告タグ'; // 広告2 hit[2] = 1; adv[2] = '広告タグ'; for(i=0; i<=hit.length - 1; i++) { m += hit[i]; } n = Math.floor(Math.random() * m); n++; for(i=0; i<=hit.length - 1; i++) { x = y; y += hit[i]; if(x<n && n<=y) ad = adv[i]; } document.write(ad); } 困っております。よろしくお願いします。

  • JSでセレクトボックスの内容を切り替えたい

    年末を向かえましたが、クリアできない問題を抱えて焦っています。 あるショッピングサイトを構築しておりますが、 商品詳細ページでカラーを選択するとそれに対応したサイズを 表示させたいと思っています。 カラー、サイズ共に異なるセレクトボックスを使用しております。 //サンプルデータ(2次元配列) var dataStock = new Array(new Array("ブラック", "S", 2), new Array("ブラック", "M", 3), new Array("ホワイト", "S", 1), new Array("ホワイト", "M", 2), new Array("ホワイト", "L", 1), new Array("レッド", "M", 3), new Array("レッド", "L", 2)); var dataSize = new Array(); //----------------- とりあえずデータ表示 ----------------- document.write("<table border='1'>"); for(i=0; i<data.length; i++) { document.write("<tr>"); for(n=0; n<data[i].length; n++) { document.write("<td>"+data[i][n]+"</td>"); } document.write("</tr>"); } document.write("</table><br /><br />"); //----------------- カラー表示 ----------------- document.write("<select name='color' onchange=getNo2(this.value);>"); for(i=0; i<data.length; i++) { document.write("<option value='"+data[i][0]+"'>"+data[i][0]+"</option>"); } document.write("</select><br /><br />"); //----------------- サイズ表示 ----------------- function getNo2(color) { document.write("<select name='size'>"); for(i=0; i<data.length; i++) { //↓2次元配列から選択したカラーの情報を取得 if(color == data[i][0]) { dataSize[i] = data[i][1]; document.write("<option value='"+dataSize[i]+"'>"+dataSize[i]+"</option>"); } } document.write("</select>"); } 上記処理だと、「対応したカラーのサイズを表示する」という 目的は達成できますが、カラーを選択すると ページ全部がサイズに上書きされ、サイズのセレクトボックスしか 表示されません。 当たり前ですが・・・ いろいろ試してみましたが、どれもうまく行きませんでした。 何か良いアドバイスがあればご教授下さい。 よろしくお願い致します。

  • powershellのwhile文での変数記述法?

    前に「PowershellでExcelへデータを書き込む 」で2次元配列にデータを変換する方法を教えてもらったのですが、今回は、複数の1次元配列をpowershellのwhile文でExcelに書き込む方法についてです・・・多分こちらの方がパフォーマンス的に劣ると思われますが記述法の勉強のため。 下記のコードの途中でつまずいてしまいました。 $sheet = $excel.Worksheets.Item(1) <#セルに書き込むためのデータ#> $array1 = @("果物","リンゴ" ,"ミカン", "バナナ","ぶどう") $array2 = @("個数","10", "20","5","8") $array3 = @("売上","1500", "2000","5000","300") $i = ((gv).Name -match "^array\d+$").Count $j = $array1.Length $y = 3 $x = 3 $n = 0 while ( $n -lt $i) {$sheet.Range($sheet.Cells($y + $n, $x), $sheet.Cells($y + $n, $x + $j - 1)) = $array?;$n++} 「・・= $array?;$n++}」部の配列名を動的に指定する方法が解りません。 よろしくお願いします。

  • document.write()の()内にタグを使用したいのですが

    質問いたします。 カウントダウンに関する質問なのですが、例えば以下のスクリプトの中でdocument.write()の()内の".happy."の部分の色を変えたいのですが、タグの挿入のルールが解りません。 document.write("誕生日まであと",<font color="#FF0000">happy</font>," 日") とか色々何パターンか試して見たのですが、間違っているようで表示されなくなってしまいます。 <SCRIPT language="JavaSCRIPT"> <!---- var set_y = 2006; //年 var set_m = 10; //月 var set_d = 01; //日 var now = new Date(); var spday= new Date(set_y,set_m-1,set_d); happy = (spday.getTime() - now.getTime())/(24*60*60*1000); happy = Math.ceil(happy); if(happy >0) document.write("誕生日まであと ",happy," 日"); //カウントダウン else if(happy ==0) document.write("誕生日おめでとう"); //当日 else if(happy <0) document.write("来年もよろしくね!"); //その後 //------> </script> 適切な場所に<font color="#FF0000">~</font>を入れる書き方をお教え頂ければ幸いでございます。よろしくお願い致します。

  • 確率変更可能ランダムテキス

    よろしくお願いします ランダムにテキストを選んで表示するphpを探したところ確率変更可能ランダムテキスを見つけたのですが リロードするたびにへmmこうになるのですが変更になるのですが これを一日一回たとえば朝の10時になったら一回どれかに変更して 次の朝10時までは同じテキストを表示するように変更するにはどうしたらよいでしょうか よろしくお願いします <?php // hitには相対確率を入れる。完全にランダムにするなら全部"1"にする // rtxtには、テキストを入れる。改行はしないようにする // テキストを増やしたりする場合は、"[ ]"の数字が0から順になるようにする $hit[0] = 1; $rtxt[0] = '10%の確率です'; $hit[1] = 2; $rtxt[1] = '20%の確率です'; $hit[2] = 3; $rtxt[2] = '30%の確率です'; $hit[3] = 4; $rtxt[3] = '40%の確率です'; $length = count($hit) - 1; for($i=0; $i<=$length; $i++) { $m += $hit[$i]; } srand( (double)microtime()*1000000 ); $n = round(rand(1,$m) ); for($i=0; $i<=$length; $i++) { $x = $y; $y += $hit[$i]; if($x<$n && $n<=$y) $ad = $rtxt[$i]; } print("$ad"); ?>

    • ベストアンサー
    • PHP
  • phpでの画像ランダム表示方法

    リロードする度に違う画像を表示させたいのですが なかなかうまくいかないのでお力を貸してください! ・boxaには5枚の中から1枚をランダム表示させる ・boxbには10枚の中から3枚をランダム表示させる(重複させないで表示) -----index.php----- <div class="boxa"> <?php require("test.php"); ?> </div> <div class="boxb"> <?php require("test2.php"); ?> <br /> <?php require("test2.php"); ?> <br /> <?php require("test2.php"); ?> </div> -----test.php(http://php.eweb-design.com/0203_rt.phpさんのサンプルソースです)----- <?php $hit[0] = 1; $rtxt[0] = '<a href="http://hogehoge.com"><img src="http://hogehoge.com/image1.gif" alt="バナー1" width="500" height="200" /></a>'; ~~省略~~ $hit[4] = 1; $rtxt[4] = '<a href="http://hogehoge.com"><img src="http://hogehoge.com/image4.gif" alt="バナー5" width="500" height="200" /></a>'; $length = count($hit) - 1; for($i=0; $i<=$length; $i++) { $m += $hit[$i]; } srand( (double)microtime()*1000000 ); $n = round(rand(1,$m) ); for($i=0; $i<=$length; $i++) { $x = $y; $y += $hit[$i]; if($x<$n && $n<=$y) $ad = $rtxt[$i]; } print("$ad"); ?> -----test2.php----- <?php $hit[0] = 1; $rtxt[0] = '<a href="http://hogehoge.com"><img src="http://hogehoge.com/image6.gif" alt="バナー1" width="200" height="200" /></a>'; ~~省略~~ $hit[9] = 1; $rtxt[9] = '<a href="http://hogehoge.com"><img src="http://hogehoge.com/image15.gif" alt="バナー10" width="200" height="200" /></a>'; $length = count($hit) - 1; for($i=0; $i<=$length; $i++) { $m += $hit[$i]; } srand( (double)microtime()*1000000 ); $n = round(rand(1,$m) ); for($i=0; $i<=$length; $i++) { $x = $y; $y += $hit[$i]; if($x<$n && $n<=$y) $ad = $rtxt[$i]; } print("$ad"); ?> boxaにはtest.phpで指定した画像がランダム表示されるのですが boxbにはtest.phpとtest2.phpで指定した画像が出てしまい重複表示されてしまいます。 boxbにはtest2.phpで指定した画像のみを重複しないでランダム表示 させたいのですがどのようにしたらよいのでしょうか?

    • ベストアンサー
    • PHP
  • バナーのランダム表示のリンクを別窓で開きたい

    バナーのランダム表示は出来るのですが、それらを開くとき 別窓で開きたいのですが、どうしたら良いのでしょうか? 下記が現在使用している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> 以上です。宜しくお願い致します。

  • これはどういう記述ですか?

    すでにできあがってるサイトを自分なりに改造しながら勉強してる者です。サイト自体はほとんどPHPなんですが会員にメールを送るPHPファイル内に以下の記述があります。 JavaScriptはまったく解らず、どういう意味のどういう処理の記述なんでしょうか?メール送信に関係ある記述ですか? どなたかお力添えお願いいたします。 <script language="JavaScript" type="text/JavaScript"> <!-- function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_goToURL() { //v3.0 var i, args=MM_goToURL.arguments; document.MM_returnValue = false; for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'"); } //--> </script>

  • PHPのランダムテキストで質問

    PHPのランダムテキストで質問します。 質問1 http://php.eweb-design.com/0204_krt.php こちらのサイトで以下のコードを見つけました。 <?php // hitには相対確率を入れる。完全にランダムにするなら全部"1"にする // rtxtには、テキストを入れる。改行はしないようにする // テキストを増やしたりする場合は、"[ ]"の数字が0から順になるようにする $hit[0] = 1; $rtxt[0] = '10%の確率です'; $hit[1] = 2; $rtxt[1] = '20%の確率です'; $hit[2] = 3; $rtxt[2] = '30%の確率です'; $hit[3] = 4; $rtxt[3] = '40%の確率です'; $length = count($hit) - 1; for($i=0; $i<=$length; $i++) { $m += $hit[$i]; } srand( (double)microtime()*1000000 ); $n = round(rand(1,$m) ); for($i=0; $i<=$length; $i++) { $x = $y; $y += $hit[$i]; if($x<$n && $n<=$y) $ad = $rtxt[$i]; } print("$ad"); ?> (上のコードをテキストエディタでrndtxt.phpと保存) 読み込みの際に <?php require("rndtxt.php"); ?> これを使うそうですが、htmlのファイル内に直接書いてアップロードしたのですが、何も表示されません。 何か間違っているのでしょうか?(自分なりに試したのですが、どうしても上手くいきません) 質問2 上のコードではランダムに1つしか表示されないようですが、これを2つとか3つなど自由に表示させるにはどのようにすればいいのでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • 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>

専門家に質問してみよう