Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/160: Рейтинг темы: голосов - 160, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 06.07.2015
Сообщений: 15

Запустить таймер при клике на кнопку

07.07.2015, 10:38. Показов 29984. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня нашёл таймер всё работает как нужно. Но есть проблемка. Как сделать чтобы он запускался от кнопки. Останавливался когда время закончиться и снова нажимаешь опять пошёл отсчёт. И есть ли возможность сделать чтобы кнопка была в одном месте а таймер абсолютно в другом. Но если нет так нет. Вот таймер. Всем спасибо.

HTML5
1
<span id="mT">00:00:10</span>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
t = setInterval (function() {
    var s = document.getElementById ('mT'),
    f = function (x) {
        return (x / 100).toFixed (2).substr (2)
    }, 
    d = ':',
    y = s.innerHTML.split (d), 
    z = --y [2] + y [0] * 3.6e3 + y [1] * 60;
 
    if (!z) clearInterval (t); 
    s.innerHTML = [
        f (Math.floor (z / 3600)),
        f (Math.floor (z % 3600 / 60)), 
        f (z % 3600 % 60)
    ].join (d);
}, 1000);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.07.2015, 10:38
Ответы с готовыми решениями:

Запустить таймер при нажатии на кнопку
Как сделать что бы при нажатии одной кнопки пошел таймер обратного отсчета например 1 час и через этот 1 час появилась другая кнопка.

При клике на кнопку запустить код
В общем я новичок в области web программирования и вот столкнулся с такой диалемой.Нужно при нажатии на кнопку запустить код из другого...

Как при нажатии на кнопку запустить таймер?
Проблема такая: Мне нужно чтобы при нажатии на кнопку запускался таймер. А у меня он запускается сразу после запуска программы. Как и где...

47
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
22.12.2017, 13:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от 77227755 Посмотреть сообщение
ИМХО...нужно это для хаба биткоин-кранов. При переходе по каждой ссылке пользователь должен видеть время сколько ему можно на данный ресурс не заходить, что бы каждый раз не смотреть время на ресурсе...
если так, то, получается, что после обновления страницы таймеры должны не просто продолжать ежесекундно уменьшать показываемое время, а сначала должны синхронизироваться с реальным временем и только потом заново запускаться

и это получатся уже не просто "таймеры обратного отсчёта", а что-то иное, не знаю даже как и назвать
но сделать -- не проблема, просто надо точно поставить задачу
0
0 / 0 / 0
Регистрация: 24.11.2017
Сообщений: 5
22.12.2017, 13:10
Та да, синхронизация времени с ресурсом необязательна +- 30секунд погоды не делают, таймер чисто для удобства юзера, но возникает другой вопрос нагрузки на сайт...скорее всего прийдеться отказаться от этой идеи...более 100 таймеров которые синхронизируются по времени с временем сайта (при обновлении страницы должны не сбрасываться)...еще одного или десяток юзеров выдержат, но если повезет зайдет 100 человек одновременно-ляжет сайт...или как?
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
22.12.2017, 14:46
77227755, речь идёт о странице, а не о сайте, перестаньте употреблять "умные" слова, не понимая их значений, очень глупо выглядите

сайт -- это десятки, сотни, тысячи, а то и миллионы страниц и файлов на одном доменном имени (как изначально загруженные на хостинг, так и динамически формируемые какими-то серверными средствами).

Добавлено через 3 минуты
и да, название для "таймера с синхронизацией", наверное, придумывать не надо, оно уже есть -- это будильник
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
22.12.2017, 16:36
77227755, а что там с нагрузкой на сервер будет? Какая разница сколько там таймеров? На клиенте храните время запуска таймеров по отдельности на каждый, а с сервера получайте текущее время сервера. Дальше средствами клиентского JS выставляйте нужное время в зависимости от разницы между временем запуска и текущим серверным. Нагрузка на сервер кроме однократного запроса времени полностью отсутствует.

Добавлено через 1 минуту
Периодически конечно надо синхронизировать таймеры для точности. Зависит от частоты синхронизации. Раз в 3-5 минут опять же погоды не сыграют на нагрузке.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
23.12.2017, 06:24
Цитата Сообщение от Balanaar Посмотреть сообщение
Периодически конечно надо синхронизировать таймеры для точности. Зависит от частоты синхронизации. Раз в 3-5 минут опять же погоды не сыграют на нагрузке.
Balanaar, ведь вы же умеете "включать голову", вчера доказали это здесь же, на форуме

какая на фиг "периодическая синхронизация"?
с чем именно вы собрались синхронизировать серверное время?

Код таймера, приведённый в топовом сообщении, вовсе не работает с объектом Date ()
Там использован метод setInterval () и 1000 миллисекунд в качестве таймаута для него -- я знаю, о чём пишу, ибо я автор этого говнокода (см. первоисточник)

Не по теме:

и чтобы было окончательно понятно
учительница нарисовала мелом на доске 20-ть чёрточек, вот так: ||||||||||||||||||||
и предложила Вовочке отсчитывать в уме "про себя" по 60-т секунд, и по истечении каждой такой "минуты" стирать тряпкой с доски одну чёрточку справа, и, взглянув на свои наручные часы, пообещала, что примерно в тот момент, когда Вовочка закончит свою работу "таймером обратного отсчёта" и сотрёт последнюю чёрточку, как раз и прозвенит звонок на переменку.

Вовочка исправно считал и стирал чёрточки
Когда на доске осталось всего 10-ть чёрточек,, вот так: |||||||||| в классе вдруг погас свет.
Дети зашумели, но учительница быстро навела порядок, объяснив им, что это она специально выключила свет, чтобы продемонстрировать" обновление страницы", и пообещала вскоре включить свет обратно
Когда свет в классе зажёгся, то на доске были всё те же 10-ть чёрточек, вот так: ||||||||||

Вовочке учительницей было предложено продолжить отсчитывать минуты и стирать чёрточки
И Вовочка снова начал свою "работу"
И когда на доске осталось всего три чёрточки, вот так: |||, прозвенел звонок об окончании урока.
Не давая детям убежать на переменку, учительница объяснила, что три оставшиеся чёрточки -- это как раз то время, которое прошло при "обновлении страницы" (когда в классе не было света).


0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
25.12.2017, 10:39
Цитата Сообщение от kalabuni Посмотреть сообщение
с чем именно вы собрались синхронизировать серверное время?
Синхронизировать следует время на странице в браузере, потому что setInterval() не гарантирует срабатывание обработчика строго миллисекунда в миллисекунду. Он лишь гарантирует, что обработчик выполнится не раньше заданного времени. Соответственно если страница будет долго открыта с работающими таймерами без обновления страницы - таймеры начнут отставать. Чем дольше страница будет открыта - тем сильнее будет отставание. Поэтому периодически стоит сверять время с сервером.
Цитата Сообщение от kalabuni Посмотреть сообщение
Код таймера, приведённый в топовом сообщении, вовсе не работает с объектом Date ()
Честно признаться, весь тред не читал. Также не вникал в код в посте ТСа, потому что написан он 2 года назад и вряд ли актуален для того, кому я на самом деле ответил.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
25.12.2017, 13:03
Цитата Сообщение от Balanaar Посмотреть сообщение
Синхронизировать следует время на странице в браузере, потому что setInterval() не гарантирует срабатывание обработчика строго миллисекунда в миллисекунду.
ну так нет же на странице времени, совсем нет!
но вы всё равно хотите это несуществующее время синхронизировать
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
22.05.2018, 02:28
Цитата Сообщение от arni1980 Посмотреть сообщение
Что делают эти два минуса?
уменьшают y [2] на единицу и возвращают полученное значение, называется это дело префиксным декрементом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.05.2018, 02:28

Как при нажатии на кнопку формы1 запустить таймер, который на форме2?
Здравствуйте, уважаемые! Такой вопросик у меня: Прогу пишу в С++билдер, есть две форма, на первой кнопа при нажатии на которую...

При нажатии на кнопку таймер запустить, после выполнения последней функции остановить
'Извиняюсь за дубляж темы, не знаю куда податься :-) Здравствуйте. Хочу сделать так- при нажатии на кнопку таймер запустить,...

Как запустить таймер по наведению курсора на кнопку?
Привет всем, такая проблемка ) нужно чтобы при наведении курсора на кнопку, запустился таймер на другой форме, которая появится только...

Таймер при клике на ссылку
Доброго всем Здравия! Нашел в интернете скрипт, который может запускать таймер с открытием странички после нажатия на кнопку. Но, после...

Запустить процесс при клике на Label
привет всем! прощу помочь. есть на форме label1 при нажатие на lable1 должен открывается файл D:\f1\311.doc как можно это сделать


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

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru