Таймер обратного отсчета на примере XSLT-шаблонизатора
Материал из Umicms
Подобные таймеры можно использовать, если необходимо вести отсчет времени, например, до запуска проекта или до какого-либо другого события. Рассмотрим пример создания таймера на основе плагина библиотеки JQuery.
1. Скачиваем архив (Медиа:countdown.zip) с необходимыми для работы таймера файлами.
2. Копируем изображение dash.png в папку сайта /images/
3. В основную таблицу стилей добавляем стиль для блока таймера:
#countdown_dashboard { height: 110px; } .dash { width: 110px; height: 114px; background: transparent url('/images/dash.png') 0 0 no-repeat; float: left; margin-left: 20px; position: relative; } .dash .digit { font-size: 55pt; font-weight: bold; float: left; width: 55px; text-align: center; font-family: Times; color: #555; position: relative; } .dash_title { position: absolute; display: block; bottom: 0px; right: 6px; font-size: 9pt; color: #555; text-transform: uppercase; letter-spacing: 2px; } .dev_comment { font-size: 14pt; color: #777; text-align: center; font-style: italic; margin: 40px 10px; }
4. Копируем JS-скрипты в папку сайта /js/. Подключаем их в теге head.
<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>
При этом если у вас на сайте используется Edit-in-place, то есть в теге head прописаны строки, подключающие его:
<xsl:value-of select="document('udata://system/includeQuickEditJs')/udata" disable-output-escaping="yes"/> <xsl:value-of select="document('udata://system/includeEditInPlaceJs')/udata" disable-output-escaping="yes"/>
- то подключать jquery-1.4.1.js не нужно.
5. Вставляем HTML-код счетчика в xsl-шаблон, в соответствии с тем, на каких страницах или в каком блоке мы хотим его отображать:
<!-- Начало панели счетчика --> <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> <!-- Завершение панели счетчика -->
6. Далее в этом шаблоне прописываем вызов скрипта, в котором задаем время, когда произойдет событие:
<script language="javascript" type="text/javascript"> <xsl:text> jQuery(document).ready(function() { $('#countdown_dashboard').countDown({ targetDate: { 'day': 21, 'month': 12, 'year': 2012, 'hour': 17, 'min': 34, 'sec': 15 } }); }); </xsl:text> </script>
После этого таймер должен будет появиться, если его работе не мешают какие-либо уже имеющиеся на сайте элементы (css или js).
