我想獲得一個移動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