Javascript未在其中一个变量上输出0
Javascript Not outputting 0 on one of the variables?
我在这里的代码遇到了一些问题。我正在做一个有趣的小项目,但有一个小问题"我不明白"。
我的项目是一个基本的小计算:1块=9锭。用户输入铸锭的数量,并获得他们将获得的块和铸锭的数量。我有一个功能来检查输入是否是数字,但这不是问题所在。
JavaScript:
setInterval(function(){
// Get the input assign it to 'value'
var value = document.getElementById('input').value;
// Define variables and set them to 0
var value_ingot = 0;
var value_block = 0;
// Add 1 to block if value is 9 or higher
// Remove 9 from value
while (value > 8){
value = value - 9;
value_block ++;
}
value_ingot = value;
value = value - value;
// This makes it output: '0 Blocks' and ' Ingots' if the input is empty
document.getElementById("blocks").innerHTML = value_block + " Blocks";
document.getElementById("ingots").innerHTML = value_ingot + " Ingots";
}, 1000);
HTML:
<h4 id="blocks" class="c_top">0 Blocks</h4>
<h4 id="ingots" class="c_top">0 Ingots</h4>
<input onkeypress="return isNumber(event);" id="input" type="text" autocomplete="off" maxlength="8"/>
你知道是什么原因造成的吗,有什么办法解决吗?
感谢阅读:)-Aleksander
这是因为输入值为空,不会根据需要自动表示为零int。
当它为空时,试着强制它为零。
var value = document.getElementById('input').value;
if(!value) value = 0;
如果不输入任何内容,则value的值为"(空字符串)。然后将"分配给value_ingots,这就是您在输出中看到的内容。
显示0 Ingots
,然后用JS函数setInterval()
替换。
对于您的问题,间隔似乎不实用,使用onclick=
或onblu=
可以更好地处理输入。
这可能更直观:
var myInput = document.getElementById('input');
myInput.addEventListener('input', function(){
var v = +myInput.value;
document.getElementById("blocks").innerHTML = Math.floor(v/9) + " Blocks";
document.getElementById("ingots").innerHTML = (v%9) + " Ingots";
});
function isNumber(e){
return !isNaN(parseInt(String.fromCharCode(e.which), 10));
}
<h4 id="blocks">0 Blocks</h4>
<h4 id="ingots">0 Ingots</h4>
<input id="input" onkeypress="return isNumber(event);" type="text"/>
相关文章:
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 导航到特定事件的另一个变量页面
- 在另一个函数中使用变量this
- 我可以在Javascript/jQuery中使用一个变量作为键吗
- 使用mongodb更新中的一个变量
- 为什么window.open不打开一个以变量形式给出的链接
- 将节点数据分配给另一个变量jstree
- 如何将变量传递到另一个js文件
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 将会话变量从一个页面传递到另一个页面
- Javascript:在激发函数后返回一个变量以供使用
- 替换另一个变量对象中的变量值
- 什么'它的意思是当一个变量位于括号外时
- 这在JavaScript中是一个好的变量名吗
- 可以't将sessionStorage设置为Javascript中的一个变量
- 如何在javascript中给变量一个随机值
- 在不同的.js文件之间传递变量;一个是在iframe内
- Console.log(变量);VS console.log([变量]);/一个提供信息,另一个没有
- 是否可以给变量一个默认值