Refresh Switch

by vovkasolovev

HTML

<input type="button" id="refresh_button" value="Refresh">
<input type="checkbox" id="refresh_switch"> <!-- Чекбокс для запуска и остановки обратного отсчета -->
Обратный отсчёт2: <span id="refresh_time_counter">⏸️</span> <!-- Сюда будет выводиться обратный отсчет -->

JavaScript

document.addEventListener('DOMContentLoaded', function () {
  const refreshButton = document.getElementById('refresh_button');
  const refreshSwitch = document.getElementById('refresh_switch');
  const refreshTimeCounter = document.getElementById('refresh_time_counter');
  let countdownInterval;

  function startCountdown(duration, action) {
    let timer = duration;
    countdownInterval = setInterval(function () {
      if (!refreshSwitch.checked) {
        clearInterval(countdownInterval);
        timer = duration;
        refreshTimeCounter.textContent = '⏸️';
      } else {
        refreshTimeCounter.textContent = timer;
        if (timer <= 0) {
          clearInterval(countdownInterval);
          action();
          startCountdown(duration, action);
        }
        timer--;
      }
    }, 1000);
  }

  function refreshResults() {
    // Выполняйте здесь ваш AJAX-запрос или другие действия
    //JetSmartFilters.filterGroups['jet-engine/stuff'].ajaxRequest(stop);
    alert('!');
  }

  refreshButton.addEventListener('click', function () {
    refreshResults();
    if (refreshSwitch.checked) {
      clearInterval(countdownInterval);
      startCountdown(60, refreshResults);
    }
  });

  refreshSwitch.addEventListener('change', function () {
    if (refreshSwitch.checked) {
      startCountdown(60, refreshResults);
    } else {
      refreshTimeCounter.textContent = '⏸️';
    }
  });
});