我想获得一个移动div的位置(使用CSS3动画动画)和连续检查它我使用的是while(true)
像下面javascript代码挂在网页
function detectCollision(){
alert(document.getElementById("obstacle").style.left)
while(true){
var temp = getObstaclePosition();
var temp2 = getPlanePosition();
if(temp[0] <= temp2[0]+500){
document.getElementsByClassName("plane")[0].style.display = "none";
break;
}
}
}
这里的问题是,经过第一个提醒页面挂起。此外,如果我在while循环中放置一个警报,那么它会一直弹出并且代码正常工作,但不会以其他方式工作。 让我知道如何解决这个问题?
不使用',而(真)',使用[requestAnimationFrame(HTTPS:/ /developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) – trebor
循环中的任何内容都不会改变'temp [0]',所以没有任何东西会使循环退出。 – Pointy
虽然循环只是要锁定您的浏览器,这将阻止其他进程运行。您需要使用间隔或超时来防止锁定。 – epascarello