Я пытаюсь создать раскрывающееся меню, действующее как подменю главного меню. Подменю - это просто элемент div, содержащий элементы/ссылки. Когда щелкнут элемент главного меню, подменю падает и остается там. Это все просто, но я хочу, чтобы подменю включалось, если курсор покидает подменю. Другими словами, простое событие mouseout. Однако, похоже, что когда курсор входит в один из элементов внутри подменю, запускается событие mouseout. Это то, что вы хотели бы, если подумать об этом, поскольку курсор покидает элемент подменю, даже если он не оставляет границ. Однако это создает проблему, потому что я хочу, чтобы событие срабатывало только при перемещении курсора за пределы границ элемента подменю.Анимированное выпадающее меню JavaScript
Что это на самом деле сводится к тому, держит один DIV внутри другого DIV, как это:
----------------------------
| DIV-1 |
| |
| ------------- |
| | | |
| | DIV-2 | | AREA OUTSIDE DIV-1
| | | |
| | | |
| | | |
| ------------- |
| |
| |
----------------------------
Теперь, 2 вещи могут привести к ДИВ-1 сгореть 'MouseOut' событие:
- курсор перемещается в пределах от boundries из DIV-1 к зоне за пределами этого boundries
- курсор перемещается в пределах от boundries из DIV-1 к площади DIV-2
Моя цель - уметь отличать эти два вхождения друг от друга, но я не смог понять, как это сделать.
У кого-нибудь есть хорошее решение этой проблемы? Это кажется достаточно распространенной особенностью, поэтому кто-то должен ее решить.
Я рекомендую прочитать любой из библиотек Gazillion (например, Друпал плагинов) которые делают это, а не задают здесь описание. – bmargulies
Как-то это звучит не очень привлекательно для меня. –