我试图通过添加到它的 .style.left 和所有工作来移动图像,直到我尝试添加一个 while 循环(添加直到它的 left 值为 90)并添加 setTimeout 以便移动可见.问题是 HTML 甚至不再加载,过了一会儿它要求我停止脚本或继续 - 这两者都没有帮助,我被迫终止浏览器。
相关代码如下:
function sprint(){
button = parseInt(document.getElementById("azisButton").style.left.split("%")[0]);
while(button<10){
setTimeout(function(){
button++;
//console.log(button);
}, 1000);
//console.log("Tady");
}
}
为什么会这样?我会进入无限循环吗?
编辑:有什么办法可以用其他更聪明的方式来做吗?
最佳答案
你建立了一个无限循环! button++
在回调中递增,但回调仅在循环结束时执行,因为 JavaScript 是单线程的。
关于javascript - while 循环中的 setTimeout 使我的浏览器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22584035/