Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как научить выпадающее меню исчезать в нужный, момент? 
:(
    Опции темы
Royan
Дата 2.2.2009, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 1
Всего: 15



У меня классическая схема:

Код

|      Menubar     |
|    Menu Item1    |
|    Menu Item2    |
|    Menu Item3    |


Пользователь подводит мышкой на menubar, появляется слой с тремя (в моем случае) menu item'ами. Вопрос в том когда эту субменюшку прятать? В какой момент, по какому событию какого объекта (onmouseout, onblur)?


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
ksnk
Дата 2.2.2009, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Классический подход - убирать по mousedown на любой области, не лежащей на менюшке. Он требует неких знаний и строчек кода. 
Классический CSS подход - убирать по mouseout из этого меню... В принципе - работает, но только для больших меню, иначе приходится муторно объяснять юзеру какого #$№% менюшка  прыгает и прячется....


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Royan
Дата 2.2.2009, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 1
Всего: 15



ksnk, Вот я изначально думал про mousedown на любой области, но столкнулся с тем, что не понятно, что такое "любая область". И потом если пользователь случайно нажмет кнопку мыши на субменюшке получается она пропадет, хотя такого быть не должно

Почему ты называешь "Классический CSS подход - убирать по mouseout" В CSS'е ведь нет событийной модели (исключая IE::expression())
Второй подход имеет следующий недостаток. Если пользователь навел мышкой на меню (появилась субменюшка) а потом не наводя на субменюшку увел мышку куда-нибудь. В итоге субменюшка висит пока на нее не наведут мышкой и соответственно уже после не произойдет onmouseout


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
ksnk
Дата 2.2.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Royan, "Классический CSS подход" - довольно минималистические менюшки построенные на чистом CSS. Там есть событийная модель (.hover) smile . Любопытно взглянуть хотя бы, чтобы не городить лишнюю разметку. К примеру, тут. Впрочем, по гуглу их тонны...
Цитата

лучайно нажмет кнопку мыши на субменюшке получается она пропадет

Ну, дык! должно существовать понятие "меню", как всей совокупности открытых сейчас подменюшек.




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Royan
Дата 3.2.2009, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 1
Всего: 15



Цитата(ksnk @  2.2.2009,  15:42 Найти цитируемый пост)
Там есть событийная модель (.hover)

Сорри соображение тугое, память дырявая

Корочи понятна, спасибо большое ksnk!


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0605 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.