Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   обратный отсчет на сутки (https://javascript.ru/forum/css-html/75156-obratnyjj-otschet-na-sutki.html)

javascrip 09.09.2018 16:10

он заново будет запускаться через 60 дней?

javascrip 09.09.2018 16:28

а как убрать дней мин сек и тд? нужно в таком формате 23 11:36:45

рони 09.09.2018 16:49

Цитата:

Сообщение от javascrip
он заново будет запускаться через 60 дней?

да
Цитата:

Сообщение от javascrip
нужно в таком формате 23 11:36:45

<html>
<head>
<meta charset="utf-8" />
    <title></title>
</head>
<body><div id = 'show'></div>
<script type="text/javascript">
function two(a) {
        return (9 < a ? "" : "0") + a
}
function formatTime(a) {
        a = Math.floor(a / 1E3);
        var b = Math.floor(a / 60),
                c = Math.floor(b / 60),
                d = c / 24 | 0,
                c = c % 24;
        a %= 60;
        b %= 60;
        return d + " " + two(c) + " : " + two(b) + " : " + two(a)
};


function Time() {
        var data = Date.parse('9/9/2018 ') // дата начала 1 шестидневки  строго "месяц/день/год"
        data = new Date(data);
        data.setMinutes((-180 - data.getTimezoneOffset()), 0, 0); //для коррекции   запустить в зоне акции alert((new Date).getTimezoneOffset()) и поменять число
        for (; (new Date).getTime() > data; )  {
        data.setDate(data.getDate()+60)//через сутки +1 , через 6 дней +6
        }
        var a = data.getTime() -  (new Date).getTime();
        document.getElementById("show").innerHTML = formatTime(a);
        window.setTimeout(Time, 1E3)
};
Time()
</script>
</body>
</html>

javascrip 09.09.2018 20:27

спасибо, а если в коде 60 везде на 30 заменить, то 30 дней отсчет будет?

javascrip 09.09.2018 20:39

26 и 28 строку поменял на 90 и 30, вроде норм)

рони 09.09.2018 20:46

Цитата:

Сообщение от javascrip
если в коде 60 везде на 30 заменить

менять только в строке 28 период

javascrip 09.09.2018 21:02

поставил 2 счетчика на страницу, последний не отображается... поменял у второго на shows - стали оба видны, но отсчет идет только у последнего, первый замер... можно как нибудь исправить?

javascrip 09.09.2018 21:07

и время там одинаковые, только дни можно менять, можно еще время изменить?

рони 10.09.2018 01:50

таймеры из data-атрибутов
 
javascrip,
<html>
<head>
<meta charset="utf-8" />
    <title></title>
</head>
<body>


<div data-init="9/9/2018" data-period="1" data-minutes="600" >до 10 часов утра осталось</div>
<div data-init="8/27/2018" data-period="7" >до конца недели осталось</div>
<script>
/* data-minutes="600"  10 часов утра */

function two(a) {
        return (9 < a ? "" : "0") + a
}
function formatTime(a) {
        a = Math.floor(a / 1E3);
        var b = Math.floor(a / 60),
                c = Math.floor(b / 60),
                d = c / 24 | 0,
                c = c % 24;
        a %= 60;
        b %= 60;
        return d + " " + two(c) + " : " + two(b) + " : " + two(a)
};
function timeInit()
{
var divs=document.querySelectorAll('[data-init]');
[].forEach.call(divs, function(div) {
var init = div.dataset.init;  // дата начала периода  строго "месяц/день/год"
var period = +div.dataset.period;
var minutes  = +div.dataset.minutes  || 0;
var time = function() {
        var data = Date.parse(init)
        data = new Date(data);
        data.setMinutes((-180 - data.getTimezoneOffset()) + minutes, 0, 0); //для коррекции   запустить в зоне акции alert((new Date).getTimezoneOffset()) и поменять -180(москва)
        for (; (new Date).getTime() > data; )  {
        data.setDate(data.getDate()+period)
        }
        var a = data.getTime() -  (new Date).getTime();
        div.innerHTML = formatTime(a);
        window.setTimeout(time, 1E3)
}
time()
});
}
document.addEventListener('DOMContentLoaded', timeInit)


</script>
</body>
</html>

javascrip 10.09.2018 11:05

спасибо, то что нужно)


Часовой пояс GMT +3, время: 06:53.