Условие для изменяемого фона

голоса: 0

Делаю условие для фона в зависимости от времен года. Алгоритм такой: в css есть сезонные классы типа seasonXY, где Х - месяц, Y - рандомные варианты разных фонов (эта штука работает, ее можно опустить). В body класс seasonXY, где условия для определения конкретного времени года (по дате и месяцу). К примеру, сегодня 20/05 и класс должен выглядеть season05Y

Последний вариант условий такой:

 

<body class="season season<?if(($DATE$>=20 & $MONTH$=11) or ($MONTH$>11) or ($MONTH$<3))?>12<?(rnd(2)+1)?><?else?><?if($MONTH$<4)?>03<?(rnd(4)+1)?><?else?><?if($DATE$<=25 & $MONTH$=4)?>04<?(rnd(3)+1)?><?else?><?if($DATE$<=20 & $MONTH$=5)?>05<?(rnd(4)+1)?><?else?><?if($DATE$<=20 & $MONTH$=6)?>06<?(rnd(3)+1)?><?else?><?if($DATE$<=25 & $MONTH$=7)?>07<?(rnd(5)+1)?><?else?><?if($DATE$<=20 & $MONTH$=8)?>08<?(rnd(3)+1)?><?else?><?if($DATE$<=10 & $MONTH$=9)?>09<?(rnd(4)+1)?><?else?><?if($DATE$<=10 & $MONTH$=10)?>10<?(rnd(6)+1)?><?else?><?if($DATE$<=20 & $MONTH$=11)?>11<?(rnd(5)+1)?><?endif?><?endif?><?endif?><?endif?><?endif?><?endif?><?endif?><?endif?><?endif?><?endif?>">

 

Работало до сегодня, но сегодня триггерная дата из формулы - 20/5. И фон пропал. Что не так. Может, есть более изящные и рабочие решения задачи?

Адрес сайта mastermozaik.ru
Закрыто с пометкой: Вопрос решён.
| Автор: | Категория: Дизайн сайта
Закрыт | | Автор: Sentimo
Похоже, сам разобрался: проверка происходит только по датам меньше условленной, а больше - не указано

Ответов: 1

голоса: 0
 
Лучший ответ
А зачем идёт проверка даты?
| Автор:
Выбор ответа лучшим | | Автор: Евгений Мыльников
Изменения фона привязаны не только к месяцу. К примеру в августе-сентябре фон меняется несколько раз за месяц
Евгений Мыльников,

Судя из этого участка кода

<?if($DATE$<=20 & $MONTH$=8)?>08<?(rnd(3)+1)?><?else?>

<?if($DATE$<=10 & $MONTH$=9)?>09<?(rnd(4)+1)?><?else?>
 

 при наступлении 20 числа и выше, условие ничего не выведет, в августе, а в сентябре 10 и выше...
а функция rnd работает при перезагрузке страницы, и будет выводить число от 0 до 4 +1 это про сентябрь, и зачем прибавлять единицу, если можно прописать так <?rnd(6)?>

Sentimo,
Да, с числами выше условной даты уже разобрался сам. По рандому уже не помню, давно делал. Но, кажется, связано с целым числом. Хотя надо попробовать. Спасибо
...