所以,我正在尝试创建一个单击按钮的东西,它将上面的数字加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对象,有人可以帮助我吗?
答案 0 :(得分: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 ;
}
答案 1 :(得分:1)
尝试将btnClick(n)
更改为btnClick()
并将+=n
更改为++
答案 2 :(得分:1)
这可能过度简化了......我不确定需要什么对象。基本上,您需要使用它来更新HTML中的timesClicked数字:
document.getElementById("timesClicked").innerHTML = timesClicked;
我已经删除了一些目标代码,因此更容易使用。这是我正在使用的javascript:
<强>的Javascript 强>
var timesClicked = 0;
function btnClick(){
timesClicked ++;
document.getElementById("timesClicked").innerHTML = timesClicked;
return true
}
<强> DEMOS 强>
答案 3 :(得分: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).
将是:
{{1}}