Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 06.12.2018
Сообщений: 44

Не могу разобрать код таймера обратного отсчета

18.01.2019, 22:54. Показов 1416. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
где в этом коде момент, в котором секунд становится на единицу меньше?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function startTimer(duration, display) {
    var timer = duration, minutes, seconds;
    setInterval(function () {
        minutes = parseInt(timer / 60, 10)
        seconds = parseInt(timer % 60, 10);
 
        minutes = minutes < 10 ? "0" + minutes : minutes;
        seconds = seconds < 10 ? "0" + seconds : seconds;
 
        display.textContent = minutes + ":" + seconds;
 
        if (--timer < 0) {
            timer = duration;
        }
    }, 1000);
}
 
window.onload = function () {
    var fiveMinutes = 60 * 5,
        display = document.querySelector('#time');
    startTimer(fiveMinutes, display);
};
Распишите пожалуйста, если не сложно.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.01.2019, 22:54
Ответы с готовыми решениями:

Проблема настройки таймера обратного отсчета в JavaScript
Доброго времени суток.Получил в наследство сайт с таймером обратного отсчета,столкнулся с такой проблемой,не могу установить дни.Отсчет...

Создание таймера обратного отсчёта
Здравствуйте, помогите пожалуйста реализовать следующее Есть HTML страница с кнопкой, при нажатии который переходим, либо же вылетает...

Скрипт таймера обратного отсчета, как сделать повторение через каждые 48 часов?
есть скрипт таймера обратного отсчета, как сделать повторение через каждые 48 часов? function time() { today = new Date(); ...

4
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
19.01.2019, 02:14
Лучший ответ Сообщение было отмечено DontBlink как решение

Решение

DontBlink,
Цитата Сообщение от DontBlink Посмотреть сообщение
момент, в котором секунд становится на единицу меньше
строка 12. Декремент и тут проверка - стало меньше нуля => начнем сначала.

Цитата Сообщение от DontBlink Посмотреть сообщение
Распишите пожалуйста
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// объявление функции с двумя параметрами
// 1 - продолжительность таймера в сек.
// 2 - элемент, в который будет выводится время
function startTimer(duration, display) {
  // объявление переменных
  // первая переменная инициализирована первым аргументом ф-ии
  var timer = duration, minutes, seconds;
  // создадим таймер с интервалом в 1 сек.
  setInterval(function () {
    // минуты = продожительность в секундах / 60
    // результат приводится к целому в десятичной системе счисления
    // с секундами я думаю понятно
    minutes = parseInt(timer / 60, 10)
    seconds = parseInt(timer % 60, 10);
    
    // далее полученные результаты приводятся к уместному формату
    // если минут меньше 10, то приписать к результату "0" иначе оставить без изменений
    // то же с секундами
    minutes = minutes < 10 ? "0" + minutes : minutes;
    seconds = seconds < 10 ? "0" + seconds : seconds;
    
    // текстовое содержимое элемента, что был указан вторым параметром ф-ии,
    // меняем на  "минуты:секунды"
    display.textContent = minutes + ":" + seconds;
    
    // декремент(уменьшение на единицу) кол-ва секунд
    // тут же проверка, если меньше нуля, то начать сначала
    if (--timer < 0) {
      timer = duration;
    }
  }, 1000);
}
// при загрузке страницы выполнить
window.onload = function () {
  // кол-во секунд
  var fiveMinutes = 60 * 1,
      // элемент, в который выводится время
      display = document.querySelector('#time');
  // передача переменных, объявленных и инициированных выше,
  // в функцию в качестве соотвествующих ей параметров
  // функция начнет выполнение блока инструкций, объявленных в ней
  startTimer(fiveMinutes, display);
};
1
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
19.01.2019, 15:46
Исправил распространенную ошибку велосипедных часов и таймеров - в первую секунду время не отображается.
http://learn.javascript.ru как раз о ней предупреждает.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <div id="time"></div>
    <script>
        function startTimer(duration, display) {
            let show = () => display.textContent = time.toLocaleTimeString(undefined, { minute: "2-digit", second: "2-digit" });
            let time = new Date(0, 0, 0, 0, 0, duration);
            show();
            setInterval(function () {
                if (display.textContent === "00:00")
                    time.setSeconds(duration);
                else
                    time.setSeconds(time.getSeconds() - 1);
                show();
            }, 1000);
        }
 
        window.onload = function () {
            var fiveMinutes = 60 * 5,
            display = document.querySelector('#time');
            startTimer(fiveMinutes, display);
        };
    </script>
</body>
</html>
Заодно прошу протестировать в Firefox.
Правда, что Firefox глючно отображает форматированное в Intl время?
1
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
19.01.2019, 17:04
amr-now, приветствую!
Цитата Сообщение от amr-now Посмотреть сообщение
Правда, что Firefox глючно отображает форматированное в Intl время?
да нет, норм всё. Тестил правда на чистом клиенте последней версии. Со сбросом кеша \ без. Все норм.
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
19.01.2019, 17:15
Qwerty_Wasd, здравствуйте!
Забирать отформатированную строку сейчас стрёмно. Местами первый ноль пропадает. Поэтому я и рисковал с проверкой "00:00".
А отформатировать, бросить на поле и забыть - ничего страшного.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.01.2019, 17:15
Помогаю со студенческими работами здесь

Реализация таймера обратного отсчета
Вопрос такой, как реализовать таймер обратного отсчета... Например переменная $t = 50... И в браузере видим отсчет 49, и так...

Cоздание таймера обратного отсчёта
Здравствуйте, у меня вопрос: хочу создать тестовую программу с 14 вопросами, т.е. 14 форм, основная особенность - это введения времени на...

Цикл таймера обратного отсчета
Привет, друзья! Помогите зациклить таймер обратного отсчета. Сейчас счетчик выставляется вручную и отматывает до 0, затем сам...

Как реализовать 3 таймера обратного отсчета?
Добрый день! Подскажите, кто знает, как реализовать 3 таймера обратного отсчета в формате чч:мм:сс, мм:сс и мм:сс:мс, этот код почему-то...

Реализовать работу таймера для обратного отсчета времени
При запуске главной формы нажимаем кнопку &quot;Начать&quot; -&gt; должна появиться форма &quot;Указать время в минутах&quot;, где необходимо выбрать любое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru