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

Нужна помощь, текст в зависимости от времени и дня недели
Всем доброго времени суток.
Нужна ваша помощь.
Есть скрипт, который выводит сообщение в зависимости от времени и дня недели.

Например текст:
Сегодня понедельник с 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) );
 
})();


Прошу вашей помощи, очень нужно данное решение(

Последний раз редактировалось dvbshka, 07.05.2020 в 13:11.
Ответить с цитированием