私はJavaScriptを学習しています。私の演習の1つは、ボックスを左から右に移動することでした。最初の数サイクルはうまくいきますが、それが乱雑になり、何が原因か分かりません。私はボックスを左から右に移動しようとしますが、数サイクル後にクラッシュします。
function preparePage(){
var box = document.getElementById("box");
var leftPosition = 0;
box.style.position = "absolute";
function animateRight(){
leftPosition += 1;
if (leftPosition<=300){
box.style.left = leftPosition+"px";
} else {
console.log("leftPosition = ",leftPosition);
clearInterval(intervalRight);
intervalLeft = setInterval(animateLeft, 20);
}
}
function animateLeft(){
if (leftPosition>=0){
leftPosition -=1;
box.style.left = leftPosition+"px";
} else {
console.log("leftPosition =", leftPosition);
clearInterval(intervalLeft);
setInterval(animateRight,20);
}
}
intervalRight = setInterval(animateRight,20);
}
window.onload = function(){
preparePage();
}
"それは汚い取得" を定義します。 – Toomai
[完全なコードはこちらです](http://pastebin.com/e9keWpEV)。最初は、左に行くと動きが早くなり、片方からもう一方へ、またはるかに300px以上にジャンプします。 – pumpalarumpa