Я пытаюсь изменить свойство CSS display
объекта, когда моя ракета игрока сталкивается с планетой, когда игрок находится рядом с планетой, некоторые тексты показывают, что когда он улетает, текст исчезает.
Насколько я могу судить, может быть проблема в том, как я сбрасываю элемент на display: none
Удаление else if
полностью показывает правильные элементы, когда я нахожусь рядом с ними.
this.planetArr = function(x, y, r, c, n){
this.planet.push ( new Game.World.Planet(x, y, r, c, n))
};
var item = null;
var plyr = this.player;
this.update = function(){
var p = this.planet.length - 1;
for(p; p > -1; --p){
var plnt = this.planet[p];
if(this.vector.checkCollision(plyr, plnt)) {
item = document.querySelector('#' + plnt.name);
item.style.display = 'block';
} else if (item) {
item.style.display = 'none';
item = null;
}
}
};
Только первый элемент в моем массиве работает как задумано, остальные, кажется, пропускают изменение стиля на display: block
и идут прямо к сбросу display: none
.