- 締切済み
JAVAで待機時間を入れて文字を消したい
JAVAでクイズ問題を作成中で、やり方を見よう見まねで勉強しています。 ↓のスクリプトで、text_aに、解答が表示されるのですが、 それから、次の問題を表示させる前に、一旦、3秒位待機時間を入れて そのあとに、text_aの解答の文字を一度、消してから、 次の問題にいきたいのですが、どうすればいいのでしょうか? 待機時間タイマーのようなものを検索して試していますが、うまくいきません。 また、解答の文字のところを消すやり方もよくわかりません。 アドバイス頂けないでしょうか? //解答表示 function anser(num) { var s; s = (count + 1) ; //答え合わせ if (num == qa[count][q_sel + 1]) { //正解 ansers[count] = "○"; } else { ansers[count] = "×"; } s += qa[count][3]; document.getElementById("text_a").innerHTML = s; //次の問題を表示 count++; if (count < qa.length) { quiz(); } else { //終了
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Taiyonoshizuku
- ベストアンサー率37% (183/489)
んー、DOMの操作とは何かを理解しないうちに適当にあてはめちゃ、ぐちゃぐちゃになっちゃうよ。 そのプログラムはどの段階で何をしようとしているのか明確に。 document.writeで書き出しているってことは関数の中ではないと思うけど、実際どのように記述しているのか。 もともとtextareaを作っておいて、そこの中身を動的に変えるのではいけないのか。
- Taiyonoshizuku
- ベストアンサー率37% (183/489)
もう作っちゃった画面に対して変更する場合はDOMの操作になるよ。 document.writeではなく。 document.getElementById('#moji').innerText='aiueo'; とかして。
- Taiyonoshizuku
- ベストアンサー率37% (183/489)
文法から見るとJavaScriptなんだけどJavaScriptでおっけー? 文字を消す = ''文字を上書き この場合s=''にしたら消える 3秒待つ場合はsetTimeoutについて調べてみるといいよ
お礼
ありがとうございました。javascriptでOKです。タイマーはなんとかできそうになりました! あと、別のプログラムでも同様に文字を消すやり方をしたいのですが 例えば、↓のプログラムで このプログラムで表示される文字wA [wno]を消したい場合、 document.write(' ~の文をすべて、そのまま2つ作成すると 文字が2つ表示されてしまいます。 このような場合、1箇所に文字を表示させる(1回目表示で2回目は消したい)こういう場合はどうしたらいいのでしょうか? //解答 document.write('<form name="dispform" style="margin: 10px 10px;"><textarea style="font-family: Verdana,Osaka,sans-serif; font-size: '+FSize+'; font-weight: normal; color: '+FColor+'; width: '+CWidth+'; height: '+CHeight+'; line-height: 1.1em; text-align: center; background-color: '+Bgcolor+'; '+BorderStyle+';" name="disparea">'+wA [wno]+'<'+'/textarea><p><br><'+'/form>');
お礼
ありがとうございます。 下記のプログラムのdocument.writeの部分をdocument.getElementByIdに変更してみました。 ただ、+wA[wno]+ の解答が表示される部分をどうすればいいのかわかりません。 解答の部分を上書きして、消すにはd('wA[wno]').innerText='';のような形でいいのでしょうか? //解答 document.write('<form name="dispform" style="margin: 10px 10px;"><textarea style="font-family: Verdana,Osaka,sans-serif; font-size: '+FSize+'; font-weight: normal; color: '+FColor+'; width: '+CWidth+'; height: '+CHeight+'; line-height: 1.1em; text-align: center; background-color: '+Bgcolor+'; '+BorderStyle+';" name="disparea">'+wA [wno]+'<'+'/textarea><p><br><'+'/form>');