Javascript.RU

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

Таймер отсчета по UTC
Здравствуйте. Сразу хочу просить прощения за "быдлокод", но я новичок в jQ. Есть таймер, который отсчитывает время до конца акции. На php показывает время правильно, в формате UTC. Есть код:
function timer() {
            $('#sidebarblock .special-box').each(function () {
                var $this = $(this);
                var timer = $this.find('.timer');
                var timestamp = timer.data('time-left-timestamp');
                var time = new Date().getTime() / 1000;
                var server_time = timer.data('server-curent-timestamp');
                var seconds = '00';
                var minutes = '00';
                var hours = '00';
                var days = '00';
                // Вычисляем разницу времени между временем сервера и текущим по локали пользователя
                var d = server_time - time;
                // Вычисляем разницу времени между оставшимся временем и предыдущим полученным результатом
                var q = timestamp - d;
                if (q > 0) {
                    // Здесь мы получаем количество секунд, которое будет равно разнице в оставшееся время,
                    // вне зависимости от расположение пользователя
                    seconds = q-time;
                    seconds = Math.floor(seconds);
                    var utc = new Date(seconds*1000);
                    seconds = utc.getUTCSeconds();
                    minutes = utc.getUTCMinutes();
                    hours = utc.getUTCHours();
                    days = utc.getUTCDay();

                    if (seconds < 10) {
                        seconds = '0' + seconds;
                    }
                    if (minutes < 10) {
                        minutes = '0' + minutes;
                    }
                    if (hours < 10) {
                        hours = '0' + hours;
                    }
                }
//                timer.find('.hours').html(hours).fadeIn(100);
//                timer.find('.mins').html(minutes).fadeIn(100);
//                timer.find('.secs').html(seconds).fadeIn(100);
                console.log('секунды-'+seconds);
                console.log('минуты-'+minutes);
                console.log('часы-'+hours);
                console.log('дни-'+days);
            });
        }

Он вызывается каждую секунду и применяется для 2 блоков. В первом блоке разница между php и js (код сверху) составляет 4 часа, но во втором блоке время показывается правильно (time_php === time_js). В чем загвоздка? Почему показывает только в одном блоке разницу, хотя в другом все нормально?
Спасибо за ответы.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер отсчета 24 часов. ShoKKK Общие вопросы Javascript 4 27.09.2013 00:12
Допилить Таймер обратного отсчета Яков Соломоныч Элементы интерфейса 11 19.06.2013 17:37
Таймер обратного отсчета на Alert moorzilla Общие вопросы Javascript 2 27.05.2012 22:14
Графический таймер обратного отсчета bobri4 Элементы интерфейса 4 24.08.2009 22:50
таймер обратного отсчета Mignon Общие вопросы Javascript 1 07.06.2008 17:16