gameOver() {
this.finalModalScore.innerHTML = this.score;
this.endGameModal.classList.add('end-game_show');
}
startGame() {
this.mouseChance();
this.fillLives();
this.fillInitScore();
this.fillInitLevel();
this.gameInterval = setInterval(() => this.creatingAnimals(), this.speed);
// листенеры делаем только в первый раз!
// иначе они будут дублироваться при начале каждой игры
document.addEventListener('click', (e) => {
if (e.target !== this.startButt) {
this.clickOnEmoji(e);
}
});
// поэтому этот листенер здесь, а не в gameover
// иначе он будет добавляться каждый раз
// и функция будет выполняться много раз
this.closeEndModal.addEventListener('click', () => {
this.endGameModal.classList.remove('end-game_show');
this.fillInitScore();
this.speedValueNum.innerHTML = "1";
buttonStart.addEventListener('click', buttonClick);
this.resetGame()
})
}
resetGame() {
// тут всё возвращаем в исходное состояние
clearInterval(this.gameInterval)
this.mouseChance();
this.fillLives();
this.fillInitScore();
this.fillInitLevel();
this.gameInterval = setInterval(() => this.creatingAnimals(), this.speed);
}
if (req.cookies.mySuperCookie === 'valid') {
const apiResults = await fetch('./api/mySuperApi', {method: 'post'} )
.....
return ..
}
const baseUrl = req ? `${req.protocol}://${req.get('Host')}` : '';
const response = await fetch(baseUrl + '/posts');
<span class="option option- material-color-beg optionparent islast"
data-imagedict="http://www.carsbag.ru/cache/dict/200x200x5bf51d3da8ebf.png"
data-class="material-color-beg" data-good="1" data-cat="185"
data-show="5" data-id="5" data-container="option-0" data-param="35" data-value="5">
.section_2 {
/* сумма высоты футора и ходора */
min-height: calc(100vh - 274px);
}
$('input#searchVariant').on('keyup', function () {
вычислить строку по которой искать,
найти нужные элементы в массиве/объекте с данными,
сделать для каждого свой блок
добавить куда надо на страницу
}