|
|
|
| Люди добрые, подскажите... У меня имеется два вложенных контейнера....
<div onmouseover="first();">
бла бла бла
<div onmouseover="second();">
ещё раз бла бла бла
</div>
</div>
|
Так вот... У каждого из них есть своё свойство onmouseover. И у каждого оно вызывает различные друг от друга функции. Проблема, как вы уже наверное догадались, в том, что внутри второго контейнера работает функция как первого так и второго, так как мышь находится одновременно как в одной области так и в другой... Как этого избежать? Как сделать, чтобы внутри второго работала только его функция?
Заранее спасибо! | |
|
|
|
|
|
|
|
для: CBE4KuH
(03.09.2008 в 22:54)
| | Вариант 1. Определять текущие координаты мыши и, соответственно, принадлежность первому или второму div'у
Вариант 2. Первый div заменить на четыре div'а, т.е. так:
+----------------------------+
|first |
| |
| +----------------+ |
| | second | |
| | | |
| | | |
| +----------------+ |
| |
| |
+----------------------------+
заменить на:
+-----+----------------------+
|f1 |f2 |
| | |
| +----------------+-----+
| | second |f3 |
| | | |
| | | |
+-----+----------------+ |
|f4 | |
| | |
+----------------------+-----+
|
| |
|
|
|
|
|
|
|
для: PAT
(03.09.2008 в 23:26)
| | 2-ой вариант не подходит, ибо структура страницы не позволяет сделать это не через задний проход.
1-ый тоже, так как координаты второй области не известны - они генерируются PHP.... | |
|
|
|
|
|
|
|
для: CBE4KuH
(04.09.2008 в 01:16)
| | >координаты второй области не известны - они генерируются PHP
Да хоть "Красной Шапочкой" или даже "Серым Волком" пусть вторая область генерируется :-)
JS работает с ЛЮБЫМИ объектами на странице, сформированными ЛЮБЫМИ способами.
В любой момент времени после срабатывания onmouseover определяете абсолютную координату левого верхнего угла ("Не знаете? Спросите меня - как?") внутренней области; определяете ширину/высоту этой области через оффсеты - и все дела. | |
|
|
|
|
|
|
|
для: PAT
(04.09.2008 в 01:43)
| | Мысль хорошая и применимая... На я, честно говоря, ждал немного другого решения проблемы. Я думал, что можно как-то разнести обасти по z-оси, чтобы небыло наложений или просто указать приоритет области... (что-то в этом духе)
А что касается вашего варианта - то такой вопрос: "Не сильно ли это через (_*_)?" | |
|
|
|