我试图让一个按钮添加1,另一个按钮使用下面的代码添加2。它出现了各种各样的错误..你只能使用按钮+2一次(然后你必须使用+1按钮,否则再次按+2不会做任何事情)并使用+ 1个按钮会在您添加2之前添加1(使用+2按钮)。如果您输入一个数字作为输入,并且您第一次使用+1按钮时会给出您输入的确切数字...... +2按钮不会这样做..
我应该改变什么以及发生了什么?
<title>testingstuff</title>
<script type = "text/javascript">
var givenNumber = parseFloat(prompt("Give a number to start with"))
var givenNumber2 = givenNumber
function addingFunc()
{
document.getElementById('result').innerHTML = givenNumber2 ++ ;
};
function addingFunc2()
{
document.getElementById('result').innerHTML = givenNumber2 + 2;
};
<button id="add_number" onclick="addingFunc()">Add 1 to number</button>
<br />
<button id="add_number" onclick="addingFunc2()">Add 2 to number</button>
<br />
<div id="result"></div>
答案 0 :(得分:2)
背后的机制实际上很容易。您将div
的内容替换为givenNumber2 + 2
。您不要在additionalFunc2 中修改givenNumber2
。试试这个:
function addingFunc2()
{
givenNumber2 += 2;
document.getElementById('result').innerHTML = givenNumber2;
};
远非魔法......
addingFunc1
落后的原因是运算符优先。 givenNumber2++
在<{strong>>设置innerHTML
后更新数字。使用++givenNumber2
或只是遵循上述相同的规则。