@generate
Попрошайка

Как сделать таймер обратного отсчета брав данные с data?

Хочу сделать каждому div элементу таймер с обратным отсчетом, данные о времени будут содержаться в data.
Подскажите пожалуйста почему не работает.
Код брал от сюда https://html5css.ru/howto/howto_js_countdown.php
<div data-test="Oct 10, 2020 20:37:25" class="text"> </div>
<div data-test="Oct 10, 2020 19:37:25" class="text"> </div>
<div data-test="Oct 10, 2020 18:37:25" class="text"> </div>
<div data-test="Oct 11, 2020 18:37:25" class="text"> </div>
<div data-test="Oct 13, 2020 18:37:25" class="text"> </div>
<div data-test="Oct 13, 2021 18:37:25" class="text"> </div>


$('.text').text(function() {  
  var countDownDate = new Date(this.dataset.test).getTime();
  timeGet($(this), countDownDate);
});


function timeGet(date, ints){
    let now = new Date().getTime();
    
    // Find the distance between now an the count down date
    let distance = date - now;
     
    // Time calculations for days, hours, minutes and seconds
    let days = Math.floor(distance / (1000 * 60 * 60 * 24));
    let hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    let seconds = Math.floor((distance % (1000 * 60)) / 1000);
    
    // Output the result in an element with id="demo"
     ints.text(hours + ":" + minutes + ":" + seconds);
    
    // If the count down is over, write some text 
    if (distance < 0) {
        clearInterval(x);
        document.getElementById("demo").innerHTML = "EXPIRED";
    } else {
      setTimeout(function(){ timeGet(date, ints); }, 1000);
    }
  
  
}
  • Вопрос задан
  • 59 просмотров
Решения вопроса 2
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
По моему вы аргументы перепутали:
timeGet($(this), countDownDate);
function timeGet(date, ints){
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы