Заставить машину поехать
Добрый вечер!
Задача элементарная - заставить машинку тронуться с места, но что-то не выходит. Ошибка: Uncaught TypeError: Cannot read property 'css' of undefined. В данном коде используется метод css, как описано в книге, он (данный метод) лучше справляется с несколькими объектами нежели offset. Если вручную "двигать машину", то есть tesla.moveRight(); - то ошибки не выдает. Подскажите на что обратить внимание, пожалуйста! let Car = function (x, y) { this.x = x; this.y = y; }; Car.prototype.draw = function () { var carHtml = '<img src="http://nostarch.com/images/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 += 15; this.carElement.css({ left: this.x, top: this.y }); }; let tesla = new Car(20, 20); let nissan = new Car(100, 200); tesla.draw(); nissan.draw(); setInterval(tesla.moveRight, 30); |
plug-ugly,
setInterval(tesla.moveRight.bind(tesla), 30); или setInterval(function() { tesla.moveRight() }, 30); |
Спасибо большое! Все получилось!
А что за метод такой bind()? |
plug-ugly,
Привязка контекста |
Спасибо!
|
Часовой пояс GMT +3, время: 21:11. |