Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

JavaScript - HTML сайт

Денис Лонелус Ученик (69), на голосовании 3 месяца назад
Как можно дополнить данный код:
let counter = (localStorage.getItem('counter')) ? parseInt(localStorage.getItem('counter')) : 0;
let factor = 1;
let background = 0;

document.querySelector('#button').addEventListener('click', function()
{
counter += factor;
document.querySelector("#counter").textContent = parseInt(counter);

let vfx = document.querySelector(".button-vfx");
vfx.style.backgroundImage = 'url("./img/buttonVfx.gif")';
setTimeout (function() {
vfx.style.backgroundImage = 'unset';
}, 100);
s
saveMain();
});

чтобы можно было в кликер делать например 1000 кликов в минуту, тоесть как энергия. Делает человек 1000 кликер, и больше не может кликать. и он должен ждать 1 минуты чтобы заного кликать?
Голосование за лучший ответ
Sergio 2.1 Оракул (67269) 4 месяца назад
 let counter = (localStorage.getItem('counter')) ? parseInt(localStorage.getItem('counter')) : 0; 
let factor = 1;
let background = 0;

// Новые переменные
let maxClicks = 1000;
let availableClicks = maxClicks;
let lastResetTime = Date.now();
let cooldownTime = 60000; // 1 минута в миллисекундах

function updateAvailableClicks() {
let currentTime = Date.now();
let elapsedTime = currentTime - lastResetTime;

if (elapsedTime >= cooldownTime) {
availableClicks = maxClicks;
lastResetTime = currentTime;
}

updateClicksDisplay();
}

function updateClicksDisplay() {
document.querySelector("#available-clicks").textContent = availableClicks;
let remainingTime = Math.max(0, cooldownTime - (Date.now() - lastResetTime));
document.querySelector("#cooldown-timer").textContent = Math.ceil(remainingTime / 1000);
}

document.querySelector('#button').addEventListener('click', function() {
updateAvailableClicks();

if (availableClicks > 0) {
counter += factor;
availableClicks--;

document.querySelector("#counter").textContent = parseInt(counter);

let vfx = document.querySelector(".button-vfx");
vfx.style.backgroundImage = 'url("./img/buttonVfx.gif")';
setTimeout(function() {
vfx.style.backgroundImage = 'unset';
}, 100);

saveMain();
updateClicksDisplay();
}
});

// Обновляем дисплей каждую секунду
setInterval(updateClicksDisplay, 1000);
 
Доступные клики: 1000
 
Время до восстановления: 60 сек
Андрей Устинов Мастер (2150) 4 месяца назад
Доработать эту строчку. counter += factor
 counter = counter < 1000 ? counter + factor : counter 
Ну или более простой синтаксис
 if (counter < 1000) {
counter += factor
}
Похожие вопросы