@anton12333
Изучаю JavaScript

Как задать setTimeout для метода объекта?

Всем здравствуйте, есть код:
var Car = function (x, y) {
            this.x = x;
            this.y = y;

            var carHtml = '<img src="http://nostarch.com/images/car.png">';

            carElement = $(carHtml);

            carElement.css({
               position: "absolute",
               left: x,
               top: y 
            });

            $("body").append(carElement);
        };

        Car.prototype.moveRight = function () {
            this.x += 5;

            this.carElement.css({
                left: this.x,
                top: this.y,
            });
        };

var tesla = new Car(20, 20);
        var nissan = new Car(100, 200);


Как помощью setInterval и moveRight анимировать nissan, чтобы
машина поехала от левой границы окна к правой?
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
RAX7
@RAX7
Car.prototype.moveRight = function (dx) {
  this.x += 5;

  if (this.x < dx) {
    setTimeout(() => this.moveRight(dx), 16);
  } else {
    this.x = dx;
  }
  this.carElement.css({
    left: this.x,
    top: this.y
  });
};

var nissan = new Car(100, 200);
nissan.moveRight(500);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы