Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Интерактивная карта (оцените простенький скрипт) (https://javascript.ru/forum/project/15467-interaktivnaya-karta-ocenite-prostenkijj-skript.html)

rgl 28.02.2011 13:03

Интерактивная карта (оцените простенький скрипт)
 
Всем привет.

Занимаюсь форумом по коттеджным и дачным поселкам. Для форума (для отдельных поселков) делаю интерактивные карты. Интерактивная карта состоит из собственно карты (картинка) и таблицы с информацией о владельцах участков. При наведении мышки на строку в таблице и сама строчка и номер соответствующего участка на карте подсвечивается. При наведении мышки на участок также подсвечивается и номер, и строка таблицы, а при необходимости таблица автоматически прокручивается, но не сразу а с небольшой задержкой. (Задержка сделана для того, чтобы избежать ненужных прокручиваний пока пользователь ведет мышку к интересующему участку и проводит ее через другие участки). Т.е. прокручивание происходит после того, как мышка на участке остановилась (точнее, находится на участке дольше чем полсекунды).
Вот, собственно, и все. Рад буду выслушать конструктивные замечания.
Пример карты:
http://forum.vzaokskom.ru/maps/limbe...nteractive.php

True-Coder 28.02.2011 17:05

В принципе, ничего сложного нет, но идея интересная, молодец!

firstchild 28.02.2011 17:16

С точки зрения того, что скрипт работает, да он работает, с точки зрения оценить - http://ru.wikipedia.org/wiki/Ненавязчивый_JavaScript

rgl 09.03.2011 13:42

Сделано без соблюдения принципа "ненавязчивого JavaScript" - да потому, что принцип применим скорее когда код пишется на HTML и JavaScript, а у меня все на PHP, так, например, координаты чувствительной области (тэг area), координаты циферки, обозначающей номер участка на карте (да и сама циферка), строка таблицы, хоть и находятся в том коде, что вы видите в трех разных местах, в коде на PHP это одна строка, один элемент массива. И если написать в тэг не onmouseover а класс, в данном конкретном случае это код не сделает проще, скорее, наоборот.

У меня же вызывает сомнение вот что. Пробовал сделать так - есть картинка (собственно карта), на нее накладывается map и area, а еще текст - номера участков. Почему номера участков текст, почему не нарисовать их на картинке? Ответ - чтобы можно было подсвечивать, просто меняя класс. Но тут появляется вот какая проблема - когда мышка наводится на участок, у соответствующей области area вызывается jnmouseover, так и должно быть. Но когда мышка попадает на циферку - номер участка, она как бы "уходит" из area, т.е. вызывается onmouseout, хотя мышка продолжает находиться в пределах зоны. Т.е. циферка заслоняет собой тэг area. Как тут быть? Нашел такое решение - картинка с изображением настоящей карты и циферки, а поверх этого располагается пустая картинка - прозрачный гиф, на который и накладывается map и area. Это работает и ничего лучше я не придумал, но мне это не очень нравится. Можно ли обойтись без прозрачного гифа?


Часовой пояс GMT +3, время: 05:20.