私はうまくいけば簡単に問題があります。私は、HTMLに数字があり、それがクリックされるたびに別の数字が減算され、結果が表示されるアプリケーションでJS関数を作成しようとしています。Javascript Onclick関数は一度しか動作しません
(これまでのところ、これだけの作品。)
数が小さくなって続けてその後のアクションは再現可能でなければなりません。
(この部分はまだ動作しません。)
最後に、クリックされたとき、乱数に元の数をリセットし、リセットボタンがあります。ここで
(乱数が正しく発見されていますが、減算する]をクリックしたときに、それはない、ランダムに選択された交換用の番号から、元の数から減算します。)
は、部分的に取り組んでJSFiddlevar s = document.getElementById('incrimentOfNumber').innerHTML
\t var n = document.getElementById('countdownNumber').innerHTML
\t var n = n - s;
\t document.getElementById("countdownNumber").onclick = function updateNumber(){
\t \t this.innerHTML = n;
\t }
\t document.getElementById("resetCountdown").onclick = function resetCountdown(){
\t \t var n = Math.floor(Math.random() * 500) + 200;
\t \t document.getElementById("countdownNumber").innerHTML = n;
\t }
<h3>Count down from the number you see in incriments of <span class="incrimentOfNumber" id="incrimentOfNumber">7</span>.
\t <br />Tap the number to see the correct answer.
\t <br />Repeat as needed.
\t </h3>
<div class="countdownNumber">
\t <h1 id="countdownNumber">284</h1>
\t </div>
<div class="btn" id="resetCountdown">Reset</div>
誰もが(1)私は愚かな方法で物事をやっていないよ確認するために何をやったかダブルチェックして、(2)私は、反復行動functioを取得する方法を見つけ出す手伝ってくれる寧?あなたは一度だけ、nの値を計算している
ああ、廃棄アプローチに先祖返り。 OPを編集します。 – Liz
'this.innerHTML = n'は、' var n = n -s; 'でページがロードされたときに_once_で計算された' n'とまったく同じ 'n'を割り当てます。その「n」は決して再び変わらない。第2のリスナの 'var n 'は、その第2の関数だけにスコープされた全く異なる' n'です。イベントリスナーは正常に動作しています。そのコードは何も差し引いていません。 – Xufox
'update number'関数の中に' var n = n-s'を入れようとしましたが、 'undefined'に変更しました... – Liz