Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как определить есть ли какой-либо объект по координатам? (https://javascript.ru/forum/events/10892-kak-opredelit-est-li-kakojj-libo-obekt-po-koordinatam.html)

m-mikle 27.07.2010 13:17

Как определить есть ли какой-либо объект по координатам?
 
Заголовок не очень, такчт объясняю что я хочу)
Имеется страница с div'ами. Они все absolute, и имеют определенные координаты.
Мне нужна функция, которая определяла существует ли вообще что-то в определенных координатах, учитывая ширину и высоту div'ов. Если существует, то возвращает true, иначе false.

Gvozd 27.07.2010 13:53

перебираешь коллекцию div-ов, и для каждого проверяешь

m-mikle 27.07.2010 14:28

Цитата:

Сообщение от Gvozd (Сообщение 65298)
перебираешь коллекцию div-ов, и для каждого проверяешь

Слишком сложно будет. У меня на странице будет около 50ти div'ов, и каждую миллисекунду они меняют позицию и вызывается эта функция.

Panzermaus 27.07.2010 23:01

m-mikle, а координаты - это часом не координаты клика? :)

PeaceCoder 27.07.2010 23:54

F зачем клик ? mousemove event.target даст результат

Gvozd 28.07.2010 00:06

Цитата:

Сообщение от m-mikle
и каждую миллисекунду они меняют позицию и вызывается эта функция.

кто же им меняет координаты?
JS не сможет так быстро реагировать
и кстати 50 дивов - это очень мало, чтобы задумыватся о нагрузке
спевра бы хоть протестили, прежде чем говорить о нагрузке

Маэстро 28.07.2010 18:29

А кто будет запускать эту функцию Х? И кто (как) будет задавать эти "определенные координаты", в которых должно быть произведено обнаружение объекта?
Если всё это привязано к мыши и повешено на её onmousemove, то вот простое решение:
на все DIV_ы вешаете обработчики onmouseover и onmouseout - функции f1 и f2.
Создаёте глобальную переменную var currentdiv = null;
В f1 прописываете currentdiv = this, в f2: currentdiv = null

а в своей Х функции проверяйте if (currentdiv != null) ... ... ...

e1f 29.07.2010 14:03

http://javascript.ru/ui/draganddrop#...tfrompoint-x-y

PeaceCoder 29.07.2010 21:32

e1f,
Кстати незнаю баг ли это или я не правильно юзал функцию, но во всех браузерах кроме Operы эта функция выдает null если координаты лежат за пределами вьюера.


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