0

введите сюда описание изображения

function Car(x,y) {
    this.x=x;
    this.y=y;
};

Car.prototype.draw = function () { let carHtml='<img src="car.png">'; this.carElement=$(carHtml); this.carElement.css ({ position:"absolute", left:this.x, top:this.y }); $("body").append(this.carElement); } Car.prototype.moveRight = function () { this.x+=5; this.carElement.css({
left:this.x, top:this.y }); }; let tesla=new Car(1000,20); let nissan=new Car(1000,400); tesla.draw(); nissan.draw(); setInterval(nissan.moveRight,30);

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

Пытаюсь сделать так чтобы картинка через сетинтервал двигалась по экрану но отладчик ругается на вот этот кусок кода this.carElement.css({ в методе moveRight, и ничего не происходит, хотя когда через консоль вручную вызываю метод этого объекта то картинка сдвигается на 5 пикселей влево как и должна, библиотека jquery подключена и отрисовываются объекты без проблем.

Qwertiy
  • 123,725
Barto
  • 13

1 Answers1

1
setInterval(nissan.moveRight.bind(nissan), 30);
Qwertiy
  • 123,725
  • Объясните зачем добавлять bind и в него записывать ещё раз название объекта?Спасибо – Barto Jan 16 '20 at 18:44
  • Это написано по ссылке. – Qwertiy Jan 16 '20 at 18:46