javascript - 事件监听器只循环一次
问题描述
E:不知道将数字属性分配给输入框仍会将其作为字符串传递,谢谢您的回复!
我的事件监听器使它只循环通过我的 for 循环一次然后停止。
现在我确信解决方案很简单,但我似乎无法找到问题所在。
如果您只是运行该函数并手动输入值,它就可以正常工作。
startButton.addEventListener("click",function(){
floorFizz = document.getElementById("floor").value;
capFizz = document.getElementById("cap").value;
incrementFizz = document.getElementById("increment").value;
FizzBuzz(floorFizz,capFizz,incrementFizz);
});
function FizzBuzz(floor,cap,increment){
for(let i=floor; i<cap; i+= increment){
console.log("iteration")
if(i%3 === 0 && i%5 === 0){
console.log(i + "=FizzBuzz")
}
else if(i%3 === 0){
console.log(i + "=Fizz")
}
else if(i%5 === 0){
console.log(i + "=Buzz")
}
else{
console.log(i)
}
}
}
<button id="startButton">Start</button>
<div id=floor>1</div>
<div id=cap>100</div>
<div id=increment>1</div>
没有错误消息只会通过循环一次。
let floorVal = document.createElement('input');
floorVal.setAttribute('type','number');
floorVal.id = "floor";
floorVal.setAttribute('placeholder','Starting number')
parent.appendChild(floorVal);
解决方案
将值转换为数字...
floorFizz = Number(document.getElementById("floor").value);
capFizz = Number(document.getElementById("cap").value);
incrementFizz = Number(document.getElementById("increment").value);
推荐阅读
- c - 多维for循环
- python - 如果花费太长时间,则在 python 中中断 shell 进程
- python-3.x - 为什么我在设置 net.forward 输出时会收到此 cv2.error?
- java - 如何在 Android 中访问 VIEW
- python-3.x - 如何在 Python 3.7+ 中关闭 asyncio(http) 连接
- postman - CryptoJS 和 postman 的 MD5 结果不同
- javascript - CKEDITOR.dom.element 更改后,a11ychecker 如何对内容运行进程?
- graphdb - Ontotext GraphDB 如何在 Visual Graph 中分配颜色?
- html - 正确放大缩小百分比范围以测试不同设备上不同浏览器的响应能力
- django - 如何使用芹菜工人将 django 项目部署到谷歌云?