0

Javascript関数1:

var count = 0;

function myFunction()
{
count++;
document.getElementById("count").innerHTML=count;
}

Javascript関数2:

function demo() {
var y=document.getElementById("count").innerHTML;
if(y=="0") {
alert("There's nothing to be reset.");
}
else {
var count=0;
alert("Reset.");
// alternative code I used: document.getElementById("count").innerHTML="0";
}
}

HTMLコード:

<a href="Javascript:myFunction()">Click here</a>
<p>Total:<span id="count">0</span></p>
<button onclick="demo()">reset</button>

このコードで変数を0にリセットする方法はありますか?

変数を使用して変数に追加して、変数countをゼロにリセットしようとしました。これらはどちらも機能しません。たとえば、ユーザーがリンクをクリックすると、カウントは1に増加します。リセットボタンをクリックすると、0にリセットされたように見えます( `var count = 0;を使用しない場合)。ただし、ユーザーがリンクをもう一度クリックすると、カウントは値2を返します。これは、前回から単純に増分し続けることができるためです。document.getElementById()=0;

すでにどこかで回答されている場合は申し訳ありませんが、用語=やを検索するのは非常に困難++です。

4

3 に答える 3

2

を使用してローカル変数にしましたvar

else {
    var count=0;
    alert("Reset.");

する必要があります

else {
    count=0;
    alert("Reset.");
于 2013-03-26T19:22:10.260 に答える
0

2つのこと:

  1. var変数をリセットした場所を取り除きます。これにより、同じ名前の別のローカル変数が得られます。

  2. グローバルの場合、変数名として「count」を使用すると、DOMに「count」というIDを持つ要素もある場合に問題が発生します。別の変数名または別のIDを使用するか、変数がグローバルでないことを確認してください(投稿されたコードからはわかりません)。

于 2013-03-26T19:22:17.527 に答える
0

コードで変更する必要があるものは次のとおりです。

そして、と比較してください

   if(parseInt(y) === 0) // You are converting it to integer and doing a strict check

elseコンストラクト

  else {
    count = 0;
    alert('Reset');
  }
于 2013-03-26T19:25:44.823 に答える