プロが教えるわが家の防犯対策術!

document.writeについて
document.writeのテキストで文字を表示するじゃんけんゲームを作っています。
文字をグーを表示させると全画面がきえてしまいます。
消えない様にその場所のみ替えるようするには、どうしたらよいでしょうか?
また、document.writeで一旦表示されたらものをそこだけ消す
表示方法なども教えて下さい。
<script language="JavaScript">
<!--
function msg() {
document.write("グー!"); }
function msg2() {
document.write("<br>チョキ!"); }
function msg3() {
document.write("<br>パー!"); }
//-->
</script>
</head>
<body>
<br><br><br><br><br><br>
<p onMouseup="msg()">グー</p><p onMouseup="msg2()">チョキ</p><p onMouseup="msg3()">パー</p>
</body>

A 回答 (3件)

なるべく原型をとどめた形で修正


お望みの形かどうかは怪しいですが

<html>
<script language="JavaScript">
<!--
function msg() {
document.getElementById("test").innerHTML = "グー!" ;
}
function msg2() {
document.getElementById("test").innerHTML = "チョキ!" ;
}
function msg3() {
document.getElementById("test").innerHTML = "パー!" ;
}
//-->
</script>
</head>
<body>
<br><br><br><br><br><br>
<p onMouseup="msg()">グー</p>
<p onMouseup="msg2()">チョキ</p>
<p onMouseup="msg3()">パー</p>
<div id="test"></div>
</body>
</html>
    • good
    • 0
この回答へのお礼

有難うございます。参考になります。

お礼日時:2010/04/14 18:52

書き換えだけするなら、中身を消して、あらたな文字を書いちゃえば


よいのでは?

<script>
function msg(obj,text) {
while(n=obj.firstChild){
obj.removeChild(n);
}
obj.appendChild(document.createTextNode(text));
}
</script>
<p onMouseup="msg(this,'グー!')">グー</p>
<p onMouseup="msg(this,'チョキ!')">チョキ</p>
<p onMouseup="msg(this,'パー!')">パー</p>
    • good
    • 0
この回答へのお礼

うう、ソースが難しくってわからない。(^^ゞ
ありがとうございます。

お礼日時:2010/04/14 18:52

このような質問前にも見ましたが、


どこで見たか忘れました。回答の盗作でーす。
ラッパーみたいにしちゃうんです。

// ↓何の変哲もないdocument.writeです
document.write('ぐう');

// ↓これを実行した後は…
( function( f ) {
var s = document.write;
document.write = f;
document.write.res = function() {
document.write = s;
}
})(
function() {
el = document.getElementById( 'test' );
return function( t ) {
el.innerHTML += t;
};
}()
);

// ↓id="test"に書き出される
document.write('ぐう');

// このメソッドを実行すると…
document.write.res();
// ↓元のdocument.writeに戻る
document.write('ぐう');
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!