- 締切済み
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>
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- qbr2
- ベストアンサー率50% (62/123)
document.getElementById("id1").innerHTML=ad; としておいて、BODYのonloadで関数を呼び出せば、 <div id="id1"></div> ←このタグの部分で表示されます。 なんてことは、可能ですね。 それで良いのかは、その「諸事情」ってやつ次第なんですが。 adは配列だけど、結果的に配列の1要素を代入してるし・・・ なんでadをnew arrayしてるのか、さっぱりわからない。。。
- taporu
- ベストアンサー率44% (46/104)
document.getElementById(Nakami).innerHTML = ad; にかえて <div id="Nakami"></div> をbody内に入れる。 javascriptを使えないブラウザに考慮して、 <div id="Nakami">このブラウザでは表示できません</div> と書くのも良いでしょう。
- yambejp
- ベストアンサー率51% (3827/7415)
どうしたいかによりますが、手っ取り早いのは textareaにvalueを指定して書き込んでしまうこと。 そうでなければ挿入するポイントを指定してDOMで書きだすこと。 ただしadは配列なので(?)そのまま記述するのはNGでしょう。 どういう風に書きたいかを提示した方がいい気がしますが・・・