質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

1531閲覧

javascript ローカル変数の表示の仕方

marupi

総合スコア6

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/06/05 16:36

編集2022/01/12 10:55

javascriptで以下のようなゲームを作っているのですがタイマーが終了した後にクリックした回数(clicknum)とポイント(point)の表示のさせ方がわからなかったので教えていただきたいです。

clearIntervat(setTimer);の下にdocument.writeで表示させようとしたのですがダメでした。

ゲームの内容
・スタートボタンと5つのスイッチを配置する.
・スタートボタンを押した後,残りチャレンジ回数は1秒ごとに1ずつ減少する.
・各スイッチに対して1~100までの乱数を割り当てる.各スイッチの値は一定時間(1秒)ごとにランダムに変化する.
・5つ数のうち最大数がクリックされると,その数だけポイントを加算する.(ポイントの初期値0)
・最大数以外がクリックされた場合,その数だけポイントから減算する.
・一定時間内に同じスイッチに対する有効なクリックは1回までとする.
・残りチャレンジ回数が0になった時点でゲームを終了する.
・ゲーム終了後,最大数をクリックした回数と取得したポイントを表示する

<html> <head> <script type="text/javascript"> var counter=5; var setTimer; function startTimer(){ setTimer=setInterval(changenum,1000); } function changenum(){ document.g_switch.gs_1.value = Math.floor (Math.random ( ) * 100)+1; document.g_switch.gs_2.value = Math.floor (Math.random ( ) * 100)+1; document.g_switch.gs_3.value = Math.floor (Math.random ( ) * 100)+1; document.g_switch.gs_4.value = Math.floor (Math.random ( ) * 100)+1; document.g_switch.gs_5.value = Math.floor (Math.random ( ) * 100)+1; document.g_switch.timer.value = counter; counter -= 1; if(counter<0){ endscreen(); } } var clicknum; function point(i){ var point=0; var max = Math.max(document.g_switch.gs_1.value,document.g_switch.gs_2.value,document.g_switch.gs_3.value,document.g_switch.gs_4.value,document.g_switch.gs_5.value); if(document.g_switch.gs_i.value==max){ point += document.g_switch.gs_i.value; clicknum += 1; }else if(document.g_switch.gs_i.value!=max){ point -= document.g_switch.gs_i.value; } } function endscreen(){ clearInterval(setTimer); document.getElementById("show").innerHTML = clicknum; } </script> </head> <body> <form name="g_switch"> <input type="button" name="timer" value="start" onclick="startTimer()" style="widht:50px; height: 50px; font-size:20px;"> <p> <input type="button" name="gs_1" value="SW1" onclick="point(1)" style="widht:50px; height: 50px; font-size:20px;"> <input type="button" name="gs_2" value="SW2" onclick="point(2)" style="widht:50px; height: 50px; font-size:20px;"> <input type="button" name="gs_3" value="SW3" onclick="point(3)" style="widht:50px; height: 50px; font-size:20px;"> <input type="button" name="gs_4" value="SW4" onclick="point(4)" style="widht:50px; height: 50px; font-size:20px;"> <input type="button" name="gs_5" value="SW5" onclick="point(5)" style="widht:50px; height: 50px; font-size:20px;"> <p id="show"></p> </form> </body> </html> コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/06/05 23:25

インデントが結構バラバラなので揃えていただけますか?(Web上の整形サービス、またはフォーマッター機能のあるエディタを使うと良いです)
guest

回答1

0

clearIntervat(setTimer);の下にdocument.writeで表示させようとしたのですがダメでした。

document.writeは、事実上ブラウザの読み込みと同時に使う場合しか使い物にならず、現代的なJavaScript環境ではほぼ使えません。

HTML内部に表示したいのであれば、たとえば

  1. var elem = document.getElementById(ID);などで表示する要素をとってくる
  2. 上で取ってきたelemに対してelem.textContent = '内容';のように中身を書き出す

のような手順が必要になります。

投稿2018/06/05 23:25

編集2018/06/06 01:59
maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

marupi

2018/06/06 01:57

回答ありがとうございます! document.writeはやはり使えないのですね。 解決策として提示していただいた1番を使おうと思うのですが引数のIDにはここでいうとclicknumを入れればいいのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問