Показать сообщение отдельно
  #4 (permalink)  
Старый 08.06.2016, 19:53
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Bond, move вынести наружу и забиндить, иначе он каждый раз заново создаётся, что не есть хорошо.

var Bullet = (function() {
	function Bullet() {
		this.element = document.getElementById('transline');
		this.bullet = document.createElement('li');
		this.left = 0;
		this._move = this.move.bind(this);
	}
	Bullet.prototype.create = function() {
		setTimeout(this._move, 10);
	};
	Bullet.prototype.move = function() {
		this.left += 4;
		this.bullet.style.left = this.left + 'px';
		if(this.left >= 1000) this.remove();
		else setTimeout(this._move, 10);
	};
	Bullet.prototype.remove = function() {
		this.bullet.remove();
		this.left = 0;
	};
	return Bullet;
}());


Также советую почитать про requestAnimationFrame.

Последний раз редактировалось ruslan_mart, 08.06.2016 в 19:56.
Ответить с цитированием