Javascript.RU

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

Таймер обратного отсчета до события
Приветствую , помогите пожалуйста составить скрипт самого обычного таймера обратного отсчета например До события осталось: 1 дней 2 часов 30 минут 50 секунд , и еще если возможно сделать чтобы таймер работал без разницы в часовых поясах . Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 30.04.2015, 18:01
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

100500 готовых плагинов есть.
Ответить с цитированием
  #3 (permalink)  
Старый 30.04.2015, 19:18
Интересующийся
Отправить личное сообщение для boypush Посмотреть профиль Найти все сообщения от boypush
 
Регистрация: 30.04.2015
Сообщений: 12

Сообщение от Decode Посмотреть сообщение
100500 готовых плагинов есть.
подскажите где пожалуйста
Ответить с цитированием
  #4 (permalink)  
Старый 30.04.2015, 20:00
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

Например вот
Ответить с цитированием
  #5 (permalink)  
Старый 30.04.2015, 20:48
Интересующийся
Отправить личное сообщение для boypush Посмотреть профиль Найти все сообщения от boypush
 
Регистрация: 30.04.2015
Сообщений: 12

Сообщение от Makarov Посмотреть сообщение
Например вот
хаххаха авто ввод порадовал)))))))) да вводил я много раз в гугл))) мне выдает постоянно всякие красивые с оформлением и к тому же они показывают разное время в разных часовых поясах , а мне нужен ОБЫЧНЫЙ без интерфейса , ну или если есть знатоки то как подключить таймер к серверному времени чтобы у пользователей независимо в каком часовом поясе они находятся был одинаковый отсчет . вот)
Ответить с цитированием
  #6 (permalink)  
Старый 30.04.2015, 20:56
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

Всегда можно погуглить получше, вот тут более продвинутый генератор:
http://megatimer.ru/
Работоспособность правда проверять лень)

Про "подключить таймер к серверному времени" - это насколько я понимаю просто один раз спросить у сервера сколько по его мнению осталось в миллисекундах до этой даты, вернуть эти миллисекунды на клиент, там их перевести в дни-часы-минуты-секунды и показать их. Сложности в чем?

Последний раз редактировалось Makarov, 30.04.2015 в 21:12.
Ответить с цитированием
  #7 (permalink)  
Старый 30.04.2015, 21:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Таймер до даты в нужной таймзоне
порядковый номер будет 200
нормальный вариант для такого случая описан в посте выше.
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .number{
    background-color: #c3cddc;
    color: #4f5865;
    font-weight: bold;
    padding: 1px 2px;
  }
  </style>
</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 "<span class='number'>" + d + "</span> " + days(d) + " <span class='number'>" + two(c) + "</span> " + hours(c) + " <span class='number'>" + two(b) + "</span> " + minutes(b) + " <span class='number'>" + two(a) + "</span> " + seconds(a)
};

// функция для склонения слов ( (1)"день", (2)"дня", (5)"дней")

function plural(str1,str2,str5){
  return function ( n ) {return ((((n%10)==1)&&((n%100)!=11))?(str1):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(str2):(str5)))}
  }

var days =  plural('день', 'дня', 'дней'),
    hours = plural('час', 'часа', 'часов'),
    minutes = plural('минута', 'минуты', 'минут'),
    seconds = plural('секунда', 'секунды', 'секунд');
function Time() {
       var a = new Date,
           b = new Date(2015, 4, 1, 0, 0, 0),
           d = "1 мая в Калининграде",
       m = -120 - a.getTimezoneOffset(); // -120 нужная таймзона в минутах
       b.setMinutes(m,0,0);
       a = b.getTime() - a.getTime();
      if(a > 0)   {document.getElementById("show").innerHTML = "До " + d + " осталось: " + formatTime(a);
       window.setTimeout(Time, 1E3)}
      else {
        document.getElementById("show").innerHTML = "!!!"
      }
   };
Time()
</script>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 01.05.2015, 00:03
Интересующийся
Отправить личное сообщение для boypush Посмотреть профиль Найти все сообщения от boypush
 
Регистрация: 30.04.2015
Сообщений: 12

Сообщение от Makarov Посмотреть сообщение
Всегда можно погуглить получше, вот тут более продвинутый генератор:
http://megatimer.ru/
Работоспособность правда проверять лень)

Про "подключить таймер к серверному времени" - это насколько я понимаю просто один раз спросить у сервера сколько по его мнению осталось в миллисекундах до этой даты, вернуть эти миллисекунды на клиент, там их перевести в дни-часы-минуты-секунды и показать их. Сложности в чем?
мегатаймер отличный таймер, использовал раньше только вот он проблему в часовых поясах не решает)))
сложности в написании кода)))

Последний раз редактировалось boypush, 01.05.2015 в 00:06.
Ответить с цитированием
  #9 (permalink)  
Старый 01.05.2015, 00:08
Интересующийся
Отправить личное сообщение для boypush Посмотреть профиль Найти все сообщения от boypush
 
Регистрация: 30.04.2015
Сообщений: 12

Сообщение от рони Посмотреть сообщение
порядковый номер будет 200
нормальный вариант для такого случая описан в посте выше.
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .number{
    background-color: #c3cddc;
    color: #4f5865;
    font-weight: bold;
    padding: 1px 2px;
  }
  </style>
</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 "<span class='number'>" + d + "</span> " + days(d) + " <span class='number'>" + two(c) + "</span> " + hours(c) + " <span class='number'>" + two(b) + "</span> " + minutes(b) + " <span class='number'>" + two(a) + "</span> " + seconds(a)
};

// функция для склонения слов ( (1)"день", (2)"дня", (5)"дней")

function plural(str1,str2,str5){
  return function ( n ) {return ((((n%10)==1)&&((n%100)!=11))?(str1):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)>=20)))?(str2):(str5)))}
  }

var days =  plural('день', 'дня', 'дней'),
    hours = plural('час', 'часа', 'часов'),
    minutes = plural('минута', 'минуты', 'минут'),
    seconds = plural('секунда', 'секунды', 'секунд');
function Time() {
       var a = new Date,
           b = new Date(2015, 4, 1, 0, 0, 0),
           d = "1 мая в Калининграде",
       m = -120 - a.getTimezoneOffset(); // -120 нужная таймзона в минутах
       b.setMinutes(m,0,0);
       a = b.getTime() - a.getTime();
      if(a > 0)   {document.getElementById("show").innerHTML = "До " + d + " осталось: " + formatTime(a);
       window.setTimeout(Time, 1E3)}
      else {
        document.getElementById("show").innerHTML = "!!!"
      }
   };
Time()
</script>
</body>
</html>
спасибо,буду пробовать))))))
Ответить с цитированием
  #10 (permalink)  
Старый 01.05.2015, 01:04
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

Да, еще надо не забыть учесть поправку на время ожидания ответа от сервера...
В общем если от сервера получать то главный вопрос встает, что это за сервер?
1. Свой
2. Не свой но какой-то конкретный и есть протокол общения с ним
3. Апофиг, любой который вернет время
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зацикленный таймер обратного отсчета levshaszr Элементы интерфейса 6 12.10.2014 23:20
таймер обратного отсчета yintar jQuery 6 03.09.2014 11:16
Таймер обратного отсчета UNIX time TuxShot Общие вопросы Javascript 6 03.08.2014 13:36
#help Таймер обратного отсчета и куки poroxprod Общие вопросы Javascript 0 11.04.2014 14:46
Графический таймер обратного отсчета bobri4 Элементы интерфейса 4 24.08.2009 22:50