Закрытие меню по mouseOut?!?> ... А если обрабатывать события на появляющемся слое, то надо как-то обработать события OnMouseOut пункта меню, который открыл подменю, таким образом, чтобы если я мышку перемещаю на подменю, то ничего не происходит, а если не на подменю, то подменю должно убраться. > Я мучал-мучал, а потом плюнул, да и сделал так как нарисовал. Как такой вариант? Может где ущербный?
Правильный ответ перед вашими глазами, каждый день на протежении многих лет (ну или сколько вы с GUI общаетесь).
Нет такой операционной системы или программы, где выпадающие меню скрывались на mouseOut! И ее не может быть, потому что давно установлено, что это неудобно.
Всегда нужно закрывать выпадающие меню с задержкой в нескольких секунд (от 3-х до безконечности), кроме случаев когда: 1. посетитель кликает на страницу вне меню и 2. открывает другое меню.
При этом решаются несколько проблем. Во первых он (посетитель) не материться, если случайно у него рука дернется и курсор вылезет из области, которая занимает меню. Во вторых - после наступления mouseOut в пункте меню, который разкрыл под-меню, есть достаточно время, чтобы поднести этот самый курсор уже над под-меню, где timeout будет очищен до следующего mouseOut-а. В третьих... а какие еще могут быть проблемы? ;-)
Свопу No.13 - браузерам без разницы, что будеш пихать в слой. Хоть таблицу, хоть картинку, хоть флэш... стоп, в случае с флэшом осторожнее - при visibility: hidden, рекомендую прятать слой еще и за левой/верхней границы страницы, иначе можно наблюдать некоторые странные "эффекты" ;-) |