Интерактивная карта (оцените простенький скрипт)
Всем привет.
Занимаюсь форумом по коттеджным и дачным поселкам. Для форума (для отдельных поселков) делаю интерактивные карты. Интерактивная карта состоит из собственно карты (картинка) и таблицы с информацией о владельцах участков. При наведении мышки на строку в таблице и сама строчка и номер соответствующего участка на карте подсвечивается. При наведении мышки на участок также подсвечивается и номер, и строка таблицы, а при необходимости таблица автоматически прокручивается, но не сразу а с небольшой задержкой. (Задержка сделана для того, чтобы избежать ненужных прокручиваний пока пользователь ведет мышку к интересующему участку и проводит ее через другие участки). Т.е. прокручивание происходит после того, как мышка на участке остановилась (точнее, находится на участке дольше чем полсекунды). Вот, собственно, и все. Рад буду выслушать конструктивные замечания. Пример карты: http://forum.vzaokskom.ru/maps/limbe...nteractive.php |
В принципе, ничего сложного нет, но идея интересная, молодец!
|
С точки зрения того, что скрипт работает, да он работает, с точки зрения оценить - http://ru.wikipedia.org/wiki/Ненавязчивый_JavaScript
|
Сделано без соблюдения принципа "ненавязчивого JavaScript" - да потому, что принцип применим скорее когда код пишется на HTML и JavaScript, а у меня все на PHP, так, например, координаты чувствительной области (тэг area), координаты циферки, обозначающей номер участка на карте (да и сама циферка), строка таблицы, хоть и находятся в том коде, что вы видите в трех разных местах, в коде на PHP это одна строка, один элемент массива. И если написать в тэг не onmouseover а класс, в данном конкретном случае это код не сделает проще, скорее, наоборот.
У меня же вызывает сомнение вот что. Пробовал сделать так - есть картинка (собственно карта), на нее накладывается map и area, а еще текст - номера участков. Почему номера участков текст, почему не нарисовать их на картинке? Ответ - чтобы можно было подсвечивать, просто меняя класс. Но тут появляется вот какая проблема - когда мышка наводится на участок, у соответствующей области area вызывается jnmouseover, так и должно быть. Но когда мышка попадает на циферку - номер участка, она как бы "уходит" из area, т.е. вызывается onmouseout, хотя мышка продолжает находиться в пределах зоны. Т.е. циферка заслоняет собой тэг area. Как тут быть? Нашел такое решение - картинка с изображением настоящей карты и циферки, а поверх этого располагается пустая картинка - прозрачный гиф, на который и накладывается map и area. Это работает и ничего лучше я не придумал, но мне это не очень нравится. Можно ли обойтись без прозрачного гифа? |
Часовой пояс GMT +3, время: 08:08. |