#javascript #html #css #button #click
#javascript #HTML #css #кнопка #нажмите
Вопрос:
Цель состоит в том, чтобы заставить кнопку отключаться при нажатии 10 раз менее чем за 1 минуту, но продолжать считать, если не нажимать 10 раз за 1 минуту? таким образом, отключается только при нажатии 10 раз менее чем за 1 минуту. Вы можете нажать девять раз в минуту, но ничего не происходит, кроме десятого раза, кнопка отключается, но если минута прошла, вы можете продолжать нажимать, но всегда максимум десять раз, и счетчик не сбрасывается, а продолжает увеличиваться.
let accCounter = 0;
let totalCount = 0;
document.getElementById('totalCounter').innerText = totalCount;
document.getElementById('clap').onclick = function() {
const clap = document.getElementById('clap');
const clickCounter = document.getElementById("clicker");
upClickCounter();
function upClickCounter() {
const clickCounter = document.getElementById("clicker");
const totalClickCounter = document.getElementById('totalCounter');
accCounter ;
clickCounter.children[0].innerText = ' ' accCounter;
totalClickCounter.innerText = totalCount accCounter;
}
}
var endCount = 5; // 5 for testing - this would be 10
var interval = 5000 // 5s for testing, 1 min= 1000 * 60;
var clicks = [];
var totalClicks = 0;
$("#btn").click(function() {
clicks.push(Date.now());
totalClicks ;
checkIt();
})
function checkIt() {
//if (clicks.length < endCount) return;
while (clicks.length amp;amp; (Date.now() - clicks[0]) > interval) {
console.log("removing: " ((Date.now() - clicks[0]) / 1000))
clicks.shift();
}
if (clicks.length < endCount) return;
$("#btn")[0].disabled = true;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="clap" class="clap-container"></button>
<div id="totalCounter" class="total-counter"></div>
<div id="clicker" class="click-counter"></div>
Комментарии:
1. Я бы использовал Rxjs
2. это не ясно: Вы можете нажать девять раз в минуту, но ничего не происходит, кроме десятого раза, кнопка отключается, но если минута прошла, вы можете продолжать нажимать, но всегда максимум десять раз, и счетчик не сбрасывается, а продолжает увеличиваться.
3. ДА, DCR, это то, чего я пытаюсь достичь, например, за одну минуту кнопку можно нажать максимум 10 раз, но если я нажму 9 раз и подожду 1 минуту, я смогу продолжать нажимать с увеличением числа счетчиков и не сбрасывать их через минуту, то же самое происходит и в течение следующих минут.
4. Кнопка отключается только тогда, когда кликов слишком много за одну минуту, иначе ничего не происходит!