Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Переход между элементами выпадающего меню (https://javascript.ru/forum/jquery/32241-perekhod-mezhdu-ehlementami-vypadayushhego-menyu.html)

Digan 08.10.2012 20:41

Переход между элементами выпадающего меню
 
Всем привет.

Пишу с помощью jQuery выпадающее меню. В общем выглядит примерно так.

Корневые элементы меню это ячейки таблицы. Выпадающее меню это div, который позиционируется по отношению к ячейке.

На параметре onmouseover ячейки висит функция, которая вызывает fadeIn(200) на div выпадающего меню. На параметре onmouseout ячейки висит функция, которая вызывает fadeOut(0) на div выпадающего меню.

Так вот проблема возникает, когда курсор мыши проходит от ячейки к диву. Естественно вызывается fadeOut(0) и див исчезает, но такого быть должно. Как мне сделать так, чтобы при переходе то ячейки к диву див не исчезал и при переходе от дива к ячейке не срабатывал fadeIn(200).

Надеюсь объяснил понятно :)
Спасибо.

antonM 09.10.2012 04:17

Digan, у Вас неправильная семантика построения меню. Классика жанра это списки
<ul><li></li>...</ul>
и правильный css. А затем уже можно и про jQuery подумать.
Вот хороший пример.

Digan 09.10.2012 19:56

Простит, но такая реализация тоже имеет право на жизнь. Причем имеет свои некоторые преимущества. Ведь уровни меню не обязательно должны располагаться рядом. Кстати в меню которое есть в ComponentArt реализована именная такая идея, т.е. верхний уровень меню это таблица, а остальные остальные элементы меню появляются в диве который позиционируется относительно ячейки таблицы.

Решил проблемы с переходом с ячейки на div с помощью setTimeOut,clearTimeout. Осталась проблема с переходом с дива на ячейку. Вызывается fadeIn и анимация проигрывается, а при таком условии такого быть не должно.

Не у кого нет идей?

Margarita 10.10.2012 20:03

приводите пример рабочего кода, чтоб были идеи - надо видеть вашу реализацию


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