Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.12.2022, 17:30
Новичок на форуме
Отправить личное сообщение для parshin Посмотреть профиль Найти все сообщения от parshin
 
Регистрация: 13.12.2022
Сообщений: 6

отчет времени
Добрый день!
Есть такой вот код:
function dateDiff(d2) {
    var date1 = new Date();
    var date2 = new Date(d2);
    var ms = date2 - date1;
    ms = ms / 1000 + (2 * 3600);
    var days, hours, minutes, seconds;
    days = Math.floor(ms / (3600 * 24));
    ms = ms - days * 3600 * 24;
    hours = Math.floor(ms / 3600);
    ms = ms - hours * 3600;
    minutes = Math.floor(ms / 60);
    seconds = Math.round(ms - minutes * 60);
    if (days <= 9) days = "0" + days;
    if (hours <= 9) hours = "0" + hours;
    if (minutes <= 9) minutes = "0" + minutes;
    if (seconds <= 9) seconds = "0" + seconds;
    tm = days +'д ' + hours + 'ч ' + minutes + 'м ' + seconds + 'с';
    this.document.write(tm);
    setTimeout("dateDiff(d2)",1000);
}

<script language="javascript">
    dateDiff("3/5/2023 18:00");
</script>

Помогите сделать так чтобы скрипт пошел, а то он обновляется только после перезагрузки страницы.
Ответить с цитированием
  #2 (permalink)  
Старый 13.12.2022, 18:13
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 498

parshin,
setTimeout(dateDiff.bind(null, d2),1000);
Ответить с цитированием
  #3 (permalink)  
Старый 13.12.2022, 18:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

parshin,
<div id="out"></div>
    <script>
        function dateDiff(d2) {
            var date1 = new Date();
            var date2 = new Date(d2);
            var ms = date2 - date1;
            ms = ms / 1000 + (2 * 3600);
            var days, hours, minutes, seconds;
            days = Math.floor(ms / (3600 * 24));
            ms = ms - days * 3600 * 24;
            hours = Math.floor(ms / 3600);
            ms = ms - hours * 3600;
            minutes = Math.floor(ms / 60);
            seconds = Math.round(ms - minutes * 60);
            if (days <= 9) days = "0" + days;
            if (hours <= 9) hours = "0" + hours;
            if (minutes <= 9) minutes = "0" + minutes;
            if (seconds <= 9) seconds = "0" + seconds;
            tm = days + 'д ' + hours + 'ч ' + minutes + 'м ' + seconds + 'с';
            out.innerHTML = tm;
            setTimeout(() => dateDiff(d2), 1000);
        }

        dateDiff("3/5/2023 18:00");
    </script>
Ответить с цитированием
  #4 (permalink)  
Старый 13.12.2022, 18:52
Новичок на форуме
Отправить личное сообщение для parshin Посмотреть профиль Найти все сообщения от parshin
 
Регистрация: 13.12.2022
Сообщений: 6

Спасибо огромное
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отчет рабочего времени. Сергей Ракипов Элементы интерфейса 14 15.04.2020 05:04
Система оценки качества трафика в реальном времени - White Diagnostic rumarkin Элементы интерфейса 0 18.06.2016 15:33
Система оценки качества трафика в реальном времени - White Diagnostic rumarkin Ваши сайты и скрипты 0 18.06.2016 00:04
нужен обратный отчет времени на JS на картинке okapo Работа 3 20.01.2012 17:46
нужен обратный отчет времени на JS на картинке okapo AJAX и COMET 2 20.01.2012 04:39