Всем доброго времени суток.
Нужна ваша помощь.
Есть скрипт, который выводит сообщение в зависимости от времени и дня недели.
Например текст:
Сегодня понедельник с 9:00 до 10:00 проходит детское мероприятие
Данный текст показывается именно в понедельник с 9:00 до 10:00.
Вывод происходит данной строчкой:
//(1) это порядковый номер недели
1 : [
[9, 10, "red", 'Сегодня понедельник с 9:00 до 10:00 проходит детское мероприятие'],
И.Т.Д.......
]
Как сделать так, что бы можно было управлять еще и минутами?
Например:
Сегодня понедельник с 9:15 до 10:45 проходит детское мероприятие
Что бы сообщение показывалось именно в это время.
И выводилось бы приблизительно так:
1 : [
[9:15, 10:45, "red", 'Сегодня понедельник с 9:00 до 10:00 проходит детское мероприятие'],
или
[9,15, 10,45, "red", 'Сегодня понедельник с 9:00 до 10:00 проходит детское мероприятие'],
]
Метод вывода в принципе не имеет значения, главное что бы работало.
Привожу скрипт целиком, он работает, но только по часам, в нем нет функционала для управления минутами(
var data = {
0 : [
[8, 9, "red", 'Текст который отображается с 8:00 до 9:00 в Воскресенье'],
[9, 10, "red", 'Текст который отображается с 9:00 до 10:00 в Воскресенье'],
И.Т.Д.......
],
1 : [
[8, 9, "red", 'Текст который отображается с 8:00 до 9:00 в Понедельник'],
[9, 10, "red", 'Текст который отображается с 9:00 до 10:00 в Понедельник'],
И.Т.Д.......
],
2 : [
[8, 9, "red", 'Текст который отображается с 8:00 до 9:00 во Вторник'],
[9, 10, "red", 'Текст который отображается с 9:00 до 10:00 во Вторник'],
И.Т.Д.......
],
3 : [
[8, 9, "red", 'Текст который отображается с 8:00 до 9:00 в Среду'],
[9, 10, "red", 'Текст который отображается с 9:00 до 10:00 в Среду'],
И.Т.Д.......
],
4 : [
[8, 9, "red", 'Текст который отображается с 8:00 до 9:00 в Четверг'],
[9, 10, "red", 'Текст который отображается с 9:00 до 10:00 в Четверг'],
И.Т.Д.......
],
5 : [
[8, 9, "red", 'Текст который отображается с 8:00 до 9:00 в Пятницу'],
[9, 10, "red", 'Текст который отображается с 9:00 до 10:00 в Пятницу'],
И.Т.Д.......
],
6 : [
[8, 9, "red", 'Текст который отображается с 8:00 до 9:00 в Субботу'],
[9, 10, "red", 'Текст который отображается с 9:00 до 10:00 в Субботу'],
И.Т.Д.......
]
};
(function(){
function getEventByDay( base, day, hour )
{
var obj = base[day],
len = obj.length;
for ( var i=0; i < len; i++ )
{
var resp = obj[i];
if ( hour >= resp[0] && hour < resp[1] ) break;
}
return resp;
}
// Функция получает into, БазуДанных и необходимые данные подставляет в into
function setupEvent( into, base )
{
var d = new Date(),
day = d.getDay(),
h = d.getHours(),
resp = 'n/a';
var data = getEventByDay(base, day, h);
// тут можно изменить шрифт, цвет берется из файла .js
resp = '<p><font color=' + data[2] + '>' + data[3] + '</font></p>';
document.getElementById( into ).innerHTML=resp;
}
// Вызываем...
setupEvent( 'raspisanie', data );
// тут ставим время через которое скрипт обновится
setInterval( function(){ setupEvent( 'raspisanie', data ); }, (6000*60) );
})();
Прошу вашей помощи, очень нужно данное решение(