Немаловажным аспектом в умном дома является дизайн домашних страниц системы. Одним из элементов дизайна являются часы. Отображать просто время как то не солидно, хочется и шрифт красивый и мигающие точки, да и дата бы не помешала.
Озадачился я этой проблемой, и решение было найдено во всемирной сети. Найденный код - это обычная веб страничка, и интегрировать его в систему Majordomo не так уж и сложно.
Показать
Скрыть
<html> <head> <style type="text/css"> .container {height 50px; margin: 0 auto; overflow: hidden;} .clock { margin:0 auto; padding:5px; color:#fff; } #Date { font-family: Arial, Helvetica, sans-serif; font-size:16px; text-align:center; text-shadow:0 0 5px #00c6ff; } .layul { margin:0 auto; padding:0px; list-style:none; text-align:center; } .layli { display:inline; font-size:22px; text-align:center; font-family:Arial, Helvetica, sans-serif; text-shadow:0 0 5px #00c6ff; } #point { position:relative; -moz-animation:mymove 1s ease infinite; -webkit-animation:mymove 1s ease infinite; padding-left:10px; padding-right:10px; } @-webkit-keyframes mymove { 0% {opacity:1.0; text-shadow:0 0 10px #00c6ff;} 50% {opacity:0; text-shadow:none; } 100% {opacity:1.0; text-shadow:0 0 10px #00c6ff; } } @-moz-keyframes mymove { 0% {opacity:1.0; text-shadow:0 0 20px #00c6ff;} 50% {opacity:0; text-shadow:none; } 100% {opacity:1.0; text-shadow:0 0 20px #00c6ff; } } </style> <script type="text/javascript"> $(document).ready(function() { // Создаем две переменные с названиями месяцев и дней недели в массиве var monthNames = [ "Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря" ]; var dayNames= ["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"] // Создаем объект newDate() var newDate = new Date(); // Извлекаем текущую дату из объекта Date newDate.setDate(newDate.getDate()); // Навыходе день, дата, месяц и год $('#Date').html(dayNames[newDate.getDay()] + " " + newDate.getDate() + ' ' + monthNames[newDate.getMonth()] + ' ' + newDate.getFullYear()); setInterval( function() { // Создаем объект newDate() и извлекаем секунды текущего времени var seconds = new Date().getSeconds(); // Добавляем начальный ноль к значению секунд $("#sec").html(( seconds < 10 ? "0" : "" ) + seconds); },1000); setInterval( function() { // Создаем объект newDate() и извлекаем минуты текущего времени var minutes = new Date().getMinutes(); // Добавляем начальный ноль к значению минут $("#min").html(( minutes < 10 ? "0" : "" ) + minutes); },1000); setInterval( function() { // Создаем объект newDate() и извлекаем часы из текущего времени var hours = new Date().getHours(); // Добавляем начальный ноль к значению часов $("#hours").html(( hours < 10 ? "0" : "" ) + hours); }, 1000); }); </script> </head> <body> <div class="container"> <div class="clock"> <ul class="layul"> <li class="layli" id="hours"></li> <li class="layli" id="point">:</li> <li class="layli" id="min"></li> <li class="layli" id="point">:</li> <li class="layli" id="sec"></li> </ul> <div id="Date"></div> </div> </div> </body> </html>
Этот код будет работать и на домашних страницах и в меню управления.
Добавим часы с датой в меню управления, для этого заходим в Панель управления/Объекты/Меню управления. Жмём кнопку "Добавить новый раздел". В открывшейся странице заполняем необходимые поля. В поле "Родительский пункт меню" выбираем "ROOT", в поле "Название" вписываем название раздела, в поле "Тип" выбираем "HTML-блок", в поле "Данные" вставляем выше приведённый код как есть.
Жмём кнопку "Сохранить" и выходим. Созданный блок появиться в самом низу списка разделов. Стрелкой вверх поднимаем раздел часов в самый верх списка, что бы часы были в самом верху меню управления.
После обновления обновления страницы, в меню управления вверху появятся вот такие часы.