@Cryezidl

Почему третья функция передвигает объект быстрее двух предыдущих функций?

Изучаю JS и столкнулся с проблемой. Пытаюсь заставить красный квадрат перемещаться вдоль каждой стороны зеленого. Первые две функции (направо и вниз) работаю хорошо, но третья слишком быстрая, хотя значения стоят одни и те же. Думал, что проблема в самом перемещении влево, но поменяв порядок выполнения функций увидел, что траббл именно с 3 функцией, т-к перемещение вниз тоже ускорилось.
Вот код
window.onload = function () {
    let cube = document.getElementById("cube");
    let x = 0;
    let y = 0;
    let xr = 0;
    let iX = setInterval(moveX, 5)
    function moveX() {
        if (x >= 200) {
            clearInterval(iX);
            let iY = setInterval(moveY, 5);
        }
        else {
            x++;
            xr++;
            cube.style.left = x+"px";
        }
    }; 
    function moveY() {
        if (y >= 200) {
            clearInterval(window.iY);
            let iMINX = setInterval(moveMINX, 5); 
        }
        else {
            y++;
            cube.style.top = y+"px";
        }
    };
    function moveMINX() {
        if (xr <= 0) {
            clearInterval(window.iMINX)
        }
        else {
            xr -= 1;
            cube.style.left = xr + "px";
        }
    }
};


#cube {
    width: 100px;
    height: 100px;
    background-color: red;
    position: absolute;
}
#cib {
    width: 300px;
    height: 300px;
    background-color: green;
    position: relative; 
}
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
24 нояб. 2024, в 03:11
500 руб./за проект
24 нояб. 2024, в 01:35
5000 руб./за проект
24 нояб. 2024, в 01:24
500 руб./за проект