Круто, но ничего с первого прочтения не понял... Сейчас буду разбираться...
А мой код, видимо, совсем кривой? :( |
На тему заливки фонов я имел в виду что-то типа этого: http://css.yoksel.ru/css-and-svg-masks/
Сейчас сам попробую вникнуть. Мысль в том, чтобы был один графический файл с маской размером с ячейку который был бы с двумя треугольниками типа такого только черно-белый. А дальше, я даю цвет фона как левый треугольник (прозрачный), на правый накладываю нужный цвет. А сверху виден текст с датой. |
Цитата:
|
Добрый вечер.
С фонами решение нашлось. // В CSS /* 0 - Free */ .poly1c0 .ui-state-default, .poly1c0 .ui-state-active { background: #f9eeda; } .poly2c0 .ui-state-default, .poly2c0 .ui-state-active { background-image: linear-gradient(to left top, #f9eeda 50%, transparent 50%) !important; } /* 1 - Reserved */ .poly1c1 .ui-state-default, .poly1c1 .ui-state-active { background: yellow; } .poly2c1 .ui-state-default, .poly2c1 .ui-state-active { background-image: linear-gradient(to left top, yellow 50%, transparent 50%) !important; } /* 7 - Selected */ .poly1c7 .ui-state-default, .poly1c7 .ui-state-active { background: #AFEA70; } .poly2c7 .ui-state-default, .poly2c7 .ui-state-active { background-image: linear-gradient(to left top, #AFEA70 50%, transparent 50%) !important; } // Стиль ячейки: "poly1c"+PrevDayStyleFlag+" poly2c"+CurrentDayStyleFlag И Все бы замечательно, но как только я добавляю третий вариант раскраски (тип), начинает плющить фоны (при выборе дат). В HTML-выводе все стили меняются корректно, а выводятся - нет. Нет мыслей почему так? Код очень громоздкий, может будет проще ссылку на скрипт? http://realfarmer.ru/2/ |
Все прикрутил как надо! Офигительно работает.
Тут еще одна мысль пришла в голову, но не могу понять можно ли это прикрутить. На странице несколько элементов datepicker. Можно ли сделать так, чтобы при переключении месяца (вперед - назад) на любом из них месяц переключался на всех? И дополнительно. Можно ли узнать какой месяц открыт в данный момент? Спасибо. |
karden,
onChangeMonthYear |
Цитата:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI Datepicker - Icon trigger</title> <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/sunny/jquery-ui.css"> <style type="text/css"> #ui-datepicker-div{ font-size: 12px; } </style> <script src="http://code.jquery.com/jquery-1.10.2.js"></script> <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <script> $(function() { $(".datepicker").datepicker({ changeYear: true, firstDay: 1, onChangeMonthYear: function(year, month, el) { $(".datepicker").datepicker("setDate", month + "/1/" + year); } }); }); </script> </head> <body> <div class="datepicker"></div><div class="datepicker"></div> </body> </html> |
Спасибо. Это прикрутил с поправкой на то, что формат даты мы поменяли и оно сразу не заработало.
Еще одну задачку не до конца понимаю как решить. Интерфейс менеджера. Есть такой же календарь, и под ним еще таблица со списком резервов (ДАТА_НАЧАЛО ! ДАТА_КОНЕЦ ! ФИО) И тут двойная задача: 1. При наведении мыши на дату, которая зарезервирована - подсветить все даты, относящиеся к данному резерву. 2. Подсветить строку в таблице, которая описывает этот резерв. И наоборот при наведении мыши на строку в таблице - подсвечивать даты в календаре. Мысли/вопросы: 1. Выделать ячейки фонами - мы не можем, т.к. они используются для выделения статусов дней. Предполагаю, что проще всего выделить цветом текста и жирным начертанием. Еще не пробовал править стили для этого, но думаю, что проблем быть не должно. 2. Технически к каждой ячейке задаем класс, который будет флагом того, что ячейка относится к тем, которые надо подсвечивать и второй класс с номером резерва (это мне не очень нравится). 3. Добавляем обработку события MouseOver и MouseOut для класса-флага. В документации datepicker этого найти не смог. |
karden,
немогу представить такой календарь -- если только сразу на весь год. и хоть это и не корректно, попробуйте задавать вопросы про datepicker на http://ru.stackoverflow.com там больше специалистов знакомы с этим плагином ... |
Я сейчас пробно сделал на 3 месяца (на год очень громоздко).
Попробую там поспрашивать. Спасибо. |
Часовой пояс GMT +3, время: 06:10. |