- Метки урока:
- jquery
- web дизайн
- счетчик
- разное
Таймер обратного отсчета на странице. Часть 1 из 3
Различные акции для стимулирования посетителей веб проекта к каким-либо действиям очень популярны. Ограничения по времени великолепно действуют на людей, помогая им быстро и уверенно принимать решения. Очень полезным инструментом при организации акций является таймер обратного отсчета. Большие цифры, которые показывают неумолимо ускользающее время, являются отличным стимулятором. А по завершении отсчета таймер сам уберет ссылку, ведущую на страницу с отличным предложением.
В данном уроке мы сделаем страницу с таймером обратного отсчета на основе плагина jQuery CountDown. В состав исходников включены два примера HTML страниц со счетчиком обратного отсчета (в темном и светлом варианте), а также PHP заготовка для них.
Чтобы на странице установить счетчик необходимо создать следующую разметку HTML:
<!-- Начало панели счетчика --> <div id="countdown_dashboard"> <div class="dash weeks_dash"> <span class="dash_title">недель</span> <div class="digit">0</div> <div class="digit">0</div> </div> <div class="dash days_dash"> <span class="dash_title">дней</span> <div class="digit">0</div> <div class="digit">0</div> </div> <div class="dash hours_dash"> <span class="dash_title">часов</span> <div class="digit">0</div> <div class="digit">0</div> </div> <div class="dash minutes_dash"> <span class="dash_title">минут</span> <div class="digit">0</div> <div class="digit">0</div> </div> <div class="dash seconds_dash"> <span class="dash_title">секунд</span> <div class="digit">0</div> <div class="digit">0</div> </div> </div> <!-- Завершение панели счетчика -->
Для каждой части счетчика задается набор из трех элементов в контейнере div
: название и две цифры. А все части располагаются в общем контейнере.
Для элементов счетчика надо задать стили. Ниже приводится пример для темного варианта оформления (стили для светлого варианта вы можете посмотреть в исходниках):
#countdown_dashboard { height: 96px; margin-left: 125px; } .dash { width: 138px; height: 96px; background: transparent url('../images/dash.png') 0 0 no-repeat; float: left; margin-left: 2px; padding-left: 13px; position: relative; color: #333; } .weeks_dash { background: transparent url('../images/dark_weeks_dash.png') 0 0 no-repeat; } .days_dash { background: transparent url('../images/dark_days_dash.png') 0 0 no-repeat; } .hours_dash { clear: left; background: transparent url('../images/dark_hours_dash.png') 0 0 no-repeat; } .minutes_dash { background: transparent url('../images/dark_minutes_dash.png') 0 0 no-repeat; } .seconds_dash { background: transparent url('../images/dark_seconds_dash.png') 0 0 no-repeat; } .dash .digit { font: bold 52pt Verdana; font-weight: bold; float: left; width: 59px; text-align: center; position: relative; } .dash_title { display: none; }
Для каждой части счетчика задается свой собственный фон в соответствии с задумкой оформления.
Теперь страница готова для подключения механизма счетчика. Подключаем необходимые файлы библиотеки jQuery и плагина:
<script language="Javascript" type="text/javascript" src="js/jquery-1.4.1.js"></script> <script language="Javascript" type="text/javascript" src="js/jquery.lwtCountdown-0.9.5.js"></script>
Установить таймер можно двумя вариантами: смещением от текущего значения времени
// Инициализация таймера установкой смещения от текущего значения jQuery(document).ready(function() { $('#countdown_dashboard').setCountDown({ targetOffset: { 'day': 1, //дней 'month': 1, //месяцев 'year': 0, //лет 'hour': 1, //часов 'min': 1, //минут 'sec': 1 //секунд } }); });
или заданием абсолютного значения времени
// Инициализация таймера установкой абсолютного значения времени jQuery(document).ready(function() { $('#countdown_dashboard').setCountDown({ targetDate: { 'day': 15, //число 'month': 1, //месяц 'year': 2011, //год 'hour': 12, //час 'min': 0, //минуты 'sec': 0 //секунды } }); });
После инициализации таймера он начинает обратный отсчет. По достижении нулевого значения счетчик прекращает счет и генерирует событие onComplete для которого можно определить функцию, выполняющую необходимые действия.
// Устанавливаем счетчик на 5 секунд jQuery(document).ready(function() { $('#countdown_dashboard').countDown({ targetOffset: { 'day': 0, 'month': 0, 'year': 0, 'hour': 0, 'min': 0, 'sec': 5 }, // По завершении счета будет выскальзывать панель #complete_info_message onComplete: function() { $('#complete_info_message').slideDown() } }); });
Можно исключить вывод количества недель, если значение счетчика не настолько большое:
// Устанавливаем счетчик jQuery(document).ready(function() { $('#countdown_dashboard').countDown({ targetOffset: { 'day': 0, 'month': 0, 'year': 1, 'hour': 0, 'min': 0, 'sec': 3 }, omitWeeks: true // Отключаем вывод количества недель }); });
Счет можно остановить, продолжить, а также сбросить к нужному значению:
// Устанваливаем счетчик jQuery(document).ready(function() { $('#countdown_dashboard').countDown({ targetOffset: { 'day': 1, 'month': 1, 'year': 0, 'hour': 1, 'min': 1, 'sec': 1 } }); }); // Останавливаем счет function stop() { $('#countdown_dashboard').stopCountDown(); } // Запускаем счет function start() { $('#countdown_dashboard').startCountDown(); } // Сброс счетчика function reset() { $('#countdown_dashboard').stopCountDown(); $('#countdown_dashboard').setCountDown({ targetOffset: { 'day': 1, 'month': 1, 'year': 0, 'hour': 1, 'min': 1, 'sec': 1 } }); $('#countdown_dashboard').startCountDown(); }
На одной странице можно запустить несколько счетчиков:
jQuery(document).ready(function() { // Устанавливаем первый счетчик $('#countdown_dashboard').countDown({ targetOffset: { 'day': 1, 'month': 1, 'year': 0, 'hour': 1, 'min': 1, 'sec': 5 } }); // Устанавливаем второй счетчик $('#countdown_dashboard2').countDown({ targetOffset: { 'day': 10, 'month': 1, 'year': 0, 'hour': 6, 'min': 34, 'sec': 10 } }); });
В счетчиках также можно использовать время UTC (универсальное координированное время), указав явно специальную опцию:
// Инициализация счетчика jQuery(document).ready(function() { $('#countdown_dashboard').countDown({ targetDate: { 'day': 17, 'month': 12, 'year': 2010, 'hour': 01, 'min': 0, 'sec': 0, // Используем время UTC 'utc': true } }); });
В функции-обработчике события onComplete определяются все действия, которые надо сделать при завершении отсчета. Например, удаляются элементы счетчика и ссылка на страницу с предложениями из структуры документа, а вместо них выводится надпись о завершении акции.
В следующих уроках мы представим бесплатные плагины для WordPress и Joomla для организации таймеров обратного счета. Использование CMS и плагинов дает возможность организоваывть такие акции даже тем, кто очень слаб в применении JavaScript, HTML и CSS.
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.littlewebthings.com/projects/countdown/
Перевел: Сергей Фастунов
Урок создан: 13 Июня 2011
Просмотров: 122089
Правила перепечатки
5 последних уроков рубрики "jQuery"
-
Анимация набора текста на jQuery
Сегодня мы бы хотели вам рассказать о библиотеке TypeIt — бесплатном jQuery плагине. С её помощью можно имитировать набор текста. Если всё настроить правильно, то можно добиться очень реалистичного эффекта.
-
Временная шкала на jQuery
jQuery плагин для создания временной шкалы.
-
Заметка: Перезагрузка и редирект на JavaScript
Быстрая заметка, где вы сможете найти парочку JS сниппетов для перезагрузки и перенаправления пользователей через JavaScript.
-
Рисуем диаграмму Ганта
jQuery плагин для создания диаграммы Ганта.
-
AJAX и PHP: загрузка файла
Пример того как осуществить загрузку файла через PHP и jQuery ajax.