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(1) 而不是 btnClick())

或者做:

 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()没有n内部的n情况下调用时undefined

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

将会:

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