Календарь. Интерфейс.
Всем здравствуйте.
Не часто обращаюсь за помощью. Но вот столкнулся с задачкой мне не по зубам. Есть календарь. Выводится не программно. Вид такой: <div align="center" class="height1Num" id="1405">14</div> <div align="center" class="height1Num" id="1505">15</div> <div align="center" class="height1Num" id="1605">16</div> <div align="center" class="height1Num" id="1705">17</div> Подсвечиваются только праздники и выходные. + подсказка: "Выберите интересующую дату". После клика на дату загружаются мероприятия на выбранную дату. Встала задача ИЗНАЧАЛЬНО подсветить мероприятия в календаре. При этом: мероприятия могут накладывать друг на друга, пересекаться. Длительность мероприятий от 2 до 7 дней. Мероприятия с датами хранятся в БД. На уровне интерфейса было придумано следующее решение подсветки. Описал словесно, но лучше покажу: ![]() Смотрится, хотя и не знаю как это реализовать. Но при этом возник вопрос. Не введет ли такой вид юзверя в заблуждение и ступор? Что сведет на нет всю "красоту", заставит напрячься, и скорее всего он закроет окно. Мне кажется, что "мышковод" (а он не думает в принципе) распознает выделенный блок как объект по которому он может кликнуть и посмотреть что поменялось. И он НЕ БУДЕТ разбирать на какую дату щелкнуть. А это важно. Ведь (смотри картинку), если кликнуть по 15 - выведется 1 мероприятие. А по 16 и 17 - два. Пользователи ресурса: от 25 до 45 лет, подавляющее большинство - неопытные юзеры. Внимание, ВОПРОСЫ: 1. Имеет ли под собой почву мое опасение? 2. Какие еще варианты подсветки нескольких дат в календаре можете предложить? |
Задача интересная.
Сейчас накидаю набросок на вариацию как сделать более понятным для пользователя |
Задача, действительно, интересная. Но реализовать ее надо так, чтобы было, как говорил мой папа, ДУРАКОУСТОЙЧИВО.
Я вот не послушал его, сделал навороченные фильтры поиска мероприятия (9 независимых фильтров) и этот вариант был полностью забракован на стадии тестирования. Пользователи жали все подряд, в итоге жесткий фильтр - нет результатов поиска -> СТУПОР ЮЗЕРА. Да и вообще на стадии тестирования мне стало понятно, что чем проще и понятнее - тем лучше. Пользователь не разбирается куда кликать, он смотрит результат клика. Но это небольшой оффтопик. Вернусь завтра. |
Если придерживаться вертикального порядка, то имхо как-то так, простенько и понятно:
<style>
#all{ width:40px; text-align:center}
.class{ padding:3px 0 }
.class1 { background:#ddf }
.class2 { background:#dfd }
.class3 { background:#fdd }
</style>
<div id="all">
<div>14</div>
<div class="class class1">
<div>15</div>
<div class="class class2">
<div class="class class3">
<div>16</div>
</div>
<div>17</div>
</div>
</div>
</div>
|
не. ниасилил пока что.
Хеь какая-то получается |
я бы сделал по-другому: подсвечивать даты с событиями, но без рамок (имхо, более привлекательней выглядеть будет, но это только моё имхо :). подсвечивать только начало события (первый день), а при получении фокуса (наведение мыши, обращении через клавиатуру и т.д.) подсвечивать уже весь диапазон дат (от начала события до конца) и всплывающей подсказкой объяснять, что будет в эти дни.
Таким способом сразу отметается проблема с накладкой событий друг на друга. |
Так на этом форуме есть люди, играющие в ВОВ. Не ожидал:)
|
to: T-sh
думаю - это самое верное решение в моем случае. Честно дошел до него сам. Но все равно!!! Всем спсибо!!!!! |
Цитата:
|
| Часовой пояс GMT +3, время: 07:06. |