Показать сообщение отдельно
  #1 (permalink)  
Старый 13.06.2009, 17:05
Аспирант
Отправить личное сообщение для EugenyK Посмотреть профиль Найти все сообщения от EugenyK
 
Регистрация: 17.03.2008
Сообщений: 64

Меню сворачивается при переводе мыши с заголовка к выпавшему содержимому
Добрый день.

Сначала опишу то, что есть.

Сделал горизонтальное меню по такой схеме.
<div id='menu'>
<div class='level_1'>
        <span>Услуги</span>
        <div class='level_2'>
                <a href=''>Item 1.1</a>
                <a href=''>Item 1.1</a> 
                <a href=''>Item 1.1</a>
        </div>
</div>
<div class='level_1'>
        <span>Портфолио</span>
        <div class='level_2'>
                <a href=''>Мероприятия</a>
                <a href=''>Инсталляции</a> 
                <a href=''>Ремонт</a>
        </div>
</div>
</div>


Упрощённо hover для них выглядит так:
$('div.level_1').hover( 
// MouseOver event
function(){
       // Для level_2
       this.childNodes[1].style.display = 'block';
},
// MouseOut event
function(){
       // Для level_2
       this.childNodes[1].style.display = 'none';
} )


DIV'ы c class=level_2 имеют position: absolute. Вследствие этого область (белая рамка) для hover-события оказывается такой.


Но если указатель мыши провести по чёрной траектории, то выбранный пункт будет закрываться. У меня есть непростая идея реализации этого через посадку onmousemove на id='menu' и в глобальной области видимости отслеживать откуда и куда прибыл указатель мыши, выставить минимально время отсутствия на выбранном элементе level_1, скажем, в 500 мс, после этого активировать mouseout на нём, но затея не очень нравится.

Интересно, есть ли способ проще этого?
Ответить с цитированием