Разрешить нажимать на кнопку раз в 15 минут

Как реализовать через куки с отсчетом времени после нажатия на кнопку что бы в течении 15 минут не было возможности нажать.

Желательно решение на php либо jquery но я думаю jquery можно обойти.


Ответы (1 шт):

Автор решения: Rikky

Решение на чистом JS:

В CSS мы пишем класс .disabled, в котором запрещаем действия (pointer-events:none)

По клику на кнопку мы вызываем функцию Test() внутри которой после того как мы выполняем действия, мы добавляем класс .disabled к нашей кнопке, предварительно получив её из DOM по её id при помощи document.getElementById.

Теперь нам осталось убрать этот класс через 15 минут - для этого мы запускаем таймер setTimeout

я поставил 3 секунды чтобы можно было быстро увидеть что кнопка через временной промежуток снова становится активной. чтобы было 15 минут поставьте туда значение 900000

function Test() {

  var btn = document.getElementById('btn');  
  alert('Нажатие!');  
  btn.classList.add('disabled');
  
  setTimeout(function() {
    btn.classList.remove('disabled');
  }, 3000); //чтобы было 15 мин поставь 900000 вместо 3000

}
.disabled {
  opacity: 0.5;
  pointer-events: none;
}
<button id="btn" onClick="Test()">Нажать!</button>

→ Ссылка