变量不能正确显示(和添加)
Variable not displaying (and adding) properly
大家好。我通过制作一个小计算器来练习我的javascript技能。我遇到的问题是,基本上称为sum
的变量,它包含用户输入并显示在页面上,不能正确显示。它从零开始。
当我加上2时,我得到02作为输出。再加上2,而不是4,得到022。我把整个源代码贴在下面。
<!DOCTYPE HTML>
<head>
<title>Screw arround!</title>
<style>
.btn{
width : 50px;
height:50px;
}
.btn2{
width : 200px;
height:50px;
}
.btn3{
width : 200px;
height:25px;
}
</style>
</head>
<body>
<center>
<p id="asd"></p>
<input type="number" id="textField" class="btn3"></input></br>
<button id="add" onclick="compute(this.id)" class="btn">+</button><button id="subtract" onclick="compute(this.id)" class="btn">-</button>
<button id="multiply" onclick="compute(this.id)" class="btn">*</button><button id="divide" onclick="compute(this.id)" class="btn">/</button></br>
<button id="clear" onclick="compute(this.id)" class="btn2">Clear</button>
</center>
</body>
<script>
//----- variables
var sum = 0; // sum
var refr = document.getElementById("textField"); // get a referance to the textField
function compute(id)
{
if(id === "add")
{
sum += refr.value;;
console.log(sum);
}
else if(id === "subtract")
{
sum -= refr.value;
console.log(sum);
}
else if(id === "multiply")
{
sum *= refr.value;
console.log(sum);
}
else if(id === "divide")
{
sum /= refr.value;
console.log(sum);
}
//// set paragraph to the answer
document.getElementById("asd").innerHTML = sum;
if(id === "clear")
{
// make the values zero so new calculations can begin
sum = 0;
refr.value = '0';
document.getElementById("asd").innerHTML = "";
}
}
</script>
在您的compute
函数中试试:
sum += parseInt(refr.value);
甚至parseFloat
,如果你想:
sum += parseFloat(refr.value);
注意输入字段的value
是字符串,+=value
实际上是字符串拼接而不是代数计算
相关文章:
- 将js添加到wordpress中以突出显示css活动菜单
- 在javascript中添加和显示对象的随机数组中的视频
- jQuery添加的文本不显示
- Javascript中的列表,用于添加和显示所有项目
- 如何在jQuery点击函数中添加并显示引导工具提示
- Firefox赢得了'不会显示我添加的jquery元素,但Chrome会显示
- 必应地图没有'当我向函数添加另一个参数时,t显示
- 将单击事件添加到显示字段
- 如何在烛光图表中添加/显示时间框架
- javascript .map ,如何添加显示当前位置的字符串
- 如何在调查表中添加显示/隐藏
- 如何添加显示输入按钮的时间
- 如何继续在我的页面上添加/显示项目,同时滚动垂直栏
- 添加显示星号的单击事件后,它不会注册单击的位置
- 如何添加'显示/隐藏内容'选项在网页中的html
- Jquery FadeIn添加显示属性,而不是仅仅删除display:none
- 单击一个li,在单击的li内的span标记上添加显示块,当单击另一个li时,对其执行相同的操作,并使显示与前一个无关
- 尝试添加显示/隐藏按钮,但被主题的 javascript 覆盖
- 使用jQuery添加显示:none;当某件事是真实的,并且有一定的规模
- 根据选择值添加/显示动态表单字段