首先我想说明这是我第一次使用这个网站,所以如果我做错了什么,我很抱歉。其次我是JavaScript的中间人,但只是真正编写了3天,并且在增量游戏中使用它(更多的是我自己学习比其他人更多,因为那里有很多)。我一直做得很好,并且在我去的时候学习更多。
我的问题是我使用带参数的函数卡住了,我的代码看起来像这样:
<button onClick="getStorg(gargAmm,'gargAmm')"> Get Garage </button>Ammount: <span id="gargAmm">0<br />
哪个是启用函数的HTML:
var gargAmm = 0;
function getStorg(buildAmm,buildID)
{
buildAmm = buildAmm + 1;
document.getElementById(buildID).innerHTML = buildAmm;
}
当首次点击按钮时,显示屏将使“Amount:”达到1,但随后停止。我已经尝试重新排列各种变量,但我只是不知道为什么这不起作用。有人可以帮忙吗?
答案 0 :(得分:0)
您正在做的是使用全局变量值
var gargAmm = 0;
无论何时调用该函数,它都使用与零相同的值并递增它。 因此,您将值设为1并且不会进一步增加。 我尝试了另一种方法来解决你的问题,看看它。
<button onClick="getStorg('gargAmm')">
Get Garage
</button>Ammount: <span id="gargAmm">0</span><br />
这是javascript
function getStorg(buildID)
{
var d= document.getElementById(buildID);
var t= parseInt(d.innerText);
t=t+1;
document.getElementById(buildID).innerHTML = t;
}
此处获取跨度中的文本并将其转换为int,然后递增该值 并插回到跨度。
这是工作小提琴http://jsfiddle.net/p8E4G/
答案 1 :(得分:0)
<强>简单:强>
function myFunc(a,b) {
b = b || 0;
// b will be set either to b or to 0.
}