Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Почему тег не работает в js скрипте?

Почему тег не работает в js скрипте?


     01.09.2022    jQuery, Хаки    212

вопрос
Есть скрипт, который выводит сколько дней осталось до определенной даты.


<script>
var end = new Date('25.12.2022');

    var _second = 1000;
    var _minute = _second * 60;
    var _hour = _minute * 60;
    var _day = _hour * 24;
    var timer;

    function showRemaining() {
        var now = new Date();
        var distance = end - now;
        if (distance < 0) {

            clearInterval(timer);
            document.getElementById('countdown').innerHTML = 'Дата наступила!';

            return;
        }
        var days = Math.floor(distance / _day);
        var hours = Math.floor((distance % _day) / _hour);
        var minutes = Math.floor((distance % _hour) / _minute);
        var seconds = Math.floor((distance % _minute) / _second);

        document.getElementById('countdown').innerHTML = days + 'days ';
        document.getElementById('countdown').innerHTML += hours + 'hrs ';
        document.getElementById('countdown').innerHTML += minutes + 'mins ';
        document.getElementById('countdown').innerHTML += seconds + 'secs';
    }

    timer = setInterval(showRemaining, 1000);
</script>

<div id="countdown"></div>


Скрипт работает если указана дата. Например. var end = new Date('25.12.2022');
А если вставить тег, то не работает скрипт. Например. var end = new Date('[xfvalue_rusprem]');

Хотя в доп. поле формат даты такой же указан. Как заставить работать [xfvalue_rusprem] в js коде?

Ответа пока нет


9 комментариев

Kentavr
Юзер

Kentavr - 1 сентября 2022 18:56 -

Ничего не понимаю, но оказывается проблема не в теге. Некоторые даты например 29.09.2022 не хочет выводить.
Пишет такое NaNdays NaNhrs NaNmins NaNsecs в чем может быть проблема?

lutskboy
Эксперт

lutskboy - 1 сентября 2022 19:06 -

там дата не в том формате. нужно 2022.12.22

Kentavr
Юзер

Kentavr - 1 сентября 2022 19:27 -

Не подскажите какие изменения в скрипте надо сделать чтобы он понимал дату число.месяц.год. ? Может есть аналогичный скрипт только с правильным форматом даты?

lutskboy
Эксперт

lutskboy - 1 сентября 2022 19:34 -

примерно так
var date = '12.09.2022';
date = date.replace(/(\d\d).(\d\d).(\d\d\d\d)/, '$3.$2.$1');

Kentavr
Юзер

Kentavr - 1 сентября 2022 19:49 -


<script>
    var _second = 1000;
    var _minute = _second * 60;
    var _hour = _minute * 60;
    var _day = _hour * 24;
    var timer;
	
	var date = '[xfvalue_rusprem]';
date = date.replace(/(\d\d).(\d\d).(\d\d\d\d)/, '$3.$2.$1');

    function showRemaining() {
        var now = new Date();
        var distance = end - now;
        if (distance < 0) {

            clearInterval(timer);
            document.getElementById('countdown').innerHTML = 'Дата наступила!';

            return;
        }
        var days = Math.floor(distance / _day);
        var hours = Math.floor((distance % _day) / _hour);
        var minutes = Math.floor((distance % _hour) / _minute);
        var seconds = Math.floor((distance % _minute) / _second);

        document.getElementById('countdown').innerHTML = days + 'days ';
        document.getElementById('countdown').innerHTML += hours + 'hrs ';
        document.getElementById('countdown').innerHTML += minutes + 'mins ';
        document.getElementById('countdown').innerHTML += seconds + 'secs';
    }

    timer = setInterval(showRemaining, 1000);
</script>


Сделал так вообще ничего не выводит теперь

lutskboy
Эксперт

lutskboy - 2 сентября 2022 12:15 -


Kentavr
Юзер

Kentavr - 2 сентября 2022 14:14 -

Ссылка не работает у меня. Даже через впн не открывается. Если не сложно продублируйте код сюда https://playcode.io/javascript/

lutskboy
Эксперт

lutskboy - 3 сентября 2022 12:41 -


Kentavr
Юзер

Kentavr - 3 сентября 2022 18:02 -



<script>
var end = new Date('25.12.2022');

    var _second = 1000;
    var _minute = _second * 60;
    var _hour = _minute * 60;
    var _day = _hour * 24;
    var timer;

    function showRemaining() {
        var now = new Date();
        var distance = end - now;
        if (distance < 0) {

            clearInterval(timer);
            document.getElementById('countdown').innerHTML = 'Дата наступила!';

            return;
        }
        var days = Math.floor(distance / _day);
        var hours = Math.floor((distance % _day) / _hour);
        var minutes = Math.floor((distance % _hour) / _minute);
        var seconds = Math.floor((distance % _minute) / _second);
		
		var date = '[xfvalue_rusprem]';
date = date.replace(/(\d\d).(\d\d).(\d\d\d\d)/, '$3.$2.$1');


		document.getElementById('date').innerHTML = date;
        document.getElementById('countdown').innerHTML = days + 'days ';
        document.getElementById('countdown').innerHTML += hours + 'hrs ';
        document.getElementById('countdown').innerHTML += minutes + 'mins ';
        document.getElementById('countdown').innerHTML += seconds + 'secs';
    }

    timer = setInterval(showRemaining, 1000);
</script>

<div id="countdown"></div>

<div id="date"></div>



Сделал так. Теперь просто выводит дату наоборот, но не считает сколькодней до нее осталось

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх