Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.09.2013, 20:35
Кандидат Javascript-наук
Отправить личное сообщение для lammeR Посмотреть профиль Найти все сообщения от lammeR
 
Регистрация: 15.01.2010
Сообщений: 138

Таймер: Осталось часов, минут, секунд до
Привет всем.
Необходимо написать скрипт таймера, который считает сколько в ч., м., с., осталось времени до следующего часа, например, есть массив часов: [7, 11, 14, 19, 24], а текущее время 8 : 31 : 5., значит до 11 ч. осталось 2 часа, 28 минут 55 секунд. И время должно считаться циклически, например дошло до 24 часов и продолжает далее считать до 7 часов.
С датой у меня в джаваскрипте всегда загвоздки( Помогите.
Ответить с цитированием
  #2 (permalink)  
Старый 01.09.2013, 20:55
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

этот велосипед многократно придуман до нас, нет смысла выдумывать заново.
вот, выбирайте: http://www.tripwiremagazine.com/2013...n-scripts.html
Ответить с цитированием
  #3 (permalink)  
Старый 01.09.2013, 22:25
Кандидат Javascript-наук
Отправить личное сообщение для lammeR Посмотреть профиль Найти все сообщения от lammeR
 
Регистрация: 15.01.2010
Сообщений: 138

К сожалению, надо на чистом javascript`e.
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2013, 23:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

lammeR,
Нужен таймер
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2013, 02:59
Кандидат Javascript-наук
Отправить личное сообщение для lammeR Посмотреть профиль Найти все сообщения от lammeR
 
Регистрация: 15.01.2010
Сообщений: 138

рони, спасибо, но не могли бы немного объяснить сложные моменты:

function Time() {
    var a = new Date, c = [7, 15, 23, 7], d = [], e = a.getDate() + 1, b = 0;
    for (; b < c.length; b++)
    a.setHours(c[b], 0, 0, 0), //устанавливаем время из массива
    3 == b && a.setDate(e), //зачем проверка?
    d[b] = a.getTime(); //?
    for (b = 0; b < c.length && !(a = d[b] - (new Date).getTime(), 0 < a); b++); //сложный момент, можно как-то его написать более длинее? 
    document.getElementById("show").innerHTML = "До " + c[b] + " осталось " + formatTime(a);
    window.setTimeout(Time, 1E3)
};

Последний раз редактировалось lammeR, 02.09.2013 в 03:02.
Ответить с цитированием
  #6 (permalink)  
Старый 02.09.2013, 10:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

lammeR,
//зачем проверка? -- прибавляем сутки для последнего элемента
//? получаем время в миллисекундах
//сложный момент, можно как-то его написать более длинее?
for (b = 0; b < c.length; b++){
    a = d[b] - (new Date).getTime();
    if(a > 0)  break  //находим первую положительную разницу между текущим временем и временем из массива d, значит до этого срока ещё есть  время, останавливаем поиск - выводим разницу преобразуя  в часы минуты секунды
 }
Ответить с цитированием
  #7 (permalink)  
Старый 02.09.2013, 16:40
Кандидат Javascript-наук
Отправить личное сообщение для lammeR Посмотреть профиль Найти все сообщения от lammeR
 
Регистрация: 15.01.2010
Сообщений: 138

Спасибо .
Ответить с цитированием
  #8 (permalink)  
Старый 02.09.2013, 20:59
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Таймер обратного отсчёта
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер обратного отсчёта useruser Элементы интерфейса 5 04.11.2013 07:29
Таймер отсчета 24 часов. ShoKKK Общие вопросы Javascript 4 27.09.2013 00:12
ОБЬЯВЛЯЕТСЯ КОНКУРС НА САМЫЙ ЛУЧШИЙ ОБРАТНЫЙ ТАЙМЕР Livanderiaamarum Общие вопросы Javascript 44 07.10.2012 13:51
Масскированный ввод часов и минут pt81 jQuery 0 29.10.2010 17:24
таймер обратного отсчета Mignon Общие вопросы Javascript 1 07.06.2008 17:16