2

そこで、ボタンをクリックすると、上記の数値が 1 増えるようなものを作成しようとしています。

私のHTMLコード:

<center><span id="timesClicked">0</span></center>
    <button type="button" class="btn btn-default" onclick="btnClick()">Click</button>

私のJSコード:

var mdb = {
"widgets": {
    "amount":0
"stats": {
    "timesClicked":0,
           }
          }

 function btnClick(n){
mdb.widgets.amount += n;
mdb.stats.timesClicked += n;
return true 
   }

番号をJSオブジェクトにリンクする方法がよくわかりませんが、誰か助けてもらえますか?

4

4 に答える 4

1

コードは機能しますが、どの値でもインクリメントしません:) n のデフォルト値が必要です。そうしないと、毎回 0 が追加されます。

次のいずれかを行います。

<center><span id="timesClicked">0</span></center>
    <button type="button" class="btn btn-default" onclick="btnClick(1)">Click</button

(btnClick() の代わりに btnClick(1) に注意してください)

または行う:

 function btnClick(n){
   n = n || 1; // default value of n is 1
   mdb.widgets.amount += n;
   mdb.stats.timesClicked += n;
   // if you want to update the value in the page (in the DOM):
   document.getElementById('timesClicked').innerHTML = mdb.stats.timesClicked;
   return true ;
 }
于 2013-10-13T15:57:51.533 に答える
1

btnClick(n)に変更してbtnClick()変更+=nしてみてください++

于 2013-10-13T15:58:47.423 に答える
1

これは単純化しすぎているかもしれません...オブジェクトが何のために必要なのかわかりません。基本的に、これを使用して HTML の timesClicked 数を更新する必要があります。

document.getElementById("timesClicked").innerHTML = timesClicked;

作業しやすいように、オブジェクト コードの一部を削除しました。私が使用しているJavaScriptは次のとおりです。

Javascript

var timesClicked = 0;

function btnClick(){
  timesClicked ++;

document.getElementById("timesClicked").innerHTML = timesClicked;
return true 
   }

デモ

http://codepen.io/anon/pen/FamJB

http://jsfiddle.net/xFgNk/1/

于 2013-10-13T16:05:01.333 に答える
1

引数なしで関数を呼び出していますn:

<button type="button" class="btn btn-default" onclick="btnClick()">Click</button

次のような引数で呼び出す必要があります。

<button type="button" class="btn btn-default" onclick="btnClick(1)">Click</button

コードが機能しない理由は、内部btnClick()なしで呼び出すと次のようになるため です。nnundefined

   mdb.widgets.amount += n;
   mdb.stats.timesClicked += n;

になります:

0 + undefined = NaN //(Not a Number).
于 2013-10-13T16:07:27.120 に答える