Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.08.2017, 19:22
Интересующийся
Отправить личное сообщение для plug-ugly Посмотреть профиль Найти все сообщения от plug-ugly
 
Регистрация: 21.08.2017
Сообщений: 27

Заставить машину поехать
Добрый вечер!
Задача элементарная - заставить машинку тронуться с места, но что-то не выходит. Ошибка: 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);
Ответить с цитированием
  #2 (permalink)  
Старый 21.08.2017, 19:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

plug-ugly,
setInterval(tesla.moveRight.bind(tesla), 30);

или
setInterval(function() {
  tesla.moveRight()
}, 30);

Последний раз редактировалось рони, 21.08.2017 в 19:30.
Ответить с цитированием
  #3 (permalink)  
Старый 21.08.2017, 19:46
Интересующийся
Отправить личное сообщение для plug-ugly Посмотреть профиль Найти все сообщения от plug-ugly
 
Регистрация: 21.08.2017
Сообщений: 27

Спасибо большое! Все получилось!

А что за метод такой bind()?

Последний раз редактировалось plug-ugly, 21.08.2017 в 19:49.
Ответить с цитированием
  #4 (permalink)  
Старый 21.08.2017, 19:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

plug-ugly,
Привязка контекста
Ответить с цитированием
  #5 (permalink)  
Старый 21.08.2017, 20:04
Интересующийся
Отправить личное сообщение для plug-ugly Посмотреть профиль Найти все сообщения от plug-ugly
 
Регистрация: 21.08.2017
Сообщений: 27

Спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заставить выбрать select AlexSergeev1990 jQuery 2 17.08.2017 12:46
Необходимо заставить работать слайдбар kosite Javascript под браузер 1 07.08.2014 09:25
Как заставить чтобы параметр обновлялся? Alexsher Общие вопросы Javascript 23 18.06.2014 22:05
swf-object - как заставить работать??? andrew_F Общие вопросы Javascript 1 17.04.2012 18:25
как заставить jQuery работать с переменными gooody jQuery 1 19.02.2010 13:10