Форум → Программирование → JavaScript → Выпадающее меню.
Выпадающее меню.
-
Здравствуйте.Не знал где тему создать,решил тут.Простите если что.
Суть проблеммы.
Есть некие элементы на странице,при клике по ним мышкой всплывает меню.
А при отводе мыши от этого меню оно должно исчезать.
Должно,но увы не исчезает!
Чего я тока не пробовал.ONMOUSEOUT куда только не ставил,
то меню исчезает при попытке навести на нее мышь,то через какое то время пребывания мыши на меню(как будто в диве дыры)
Нашел способ один.Сздал еще див с z-index: -1; width:100%; и height:expression(document.body.scrollHeight);
и этому диву указал ONMOUSEOVER="убераем меню"
Все бы было бы хорошо и отлично,вот только в opere этот див имеет height нулевое значение.
Вопрос:
1. Как сделать так,чтоб при появлении меню можно было бы навести мышь,а при отводе ее меню исчезало.
меню должно исчезать и при отводе мыши с этого элемента.
2. Как диву задать высоту страницы с wxtnjv скролинга,что бы в опере работало. -
24 августа 2008 г. 23:55, спустя 17 минут 58 секунд
Пожалуйста, не позвольте мне это релизовать этим убогим кодом!!!
echo "<div ONMOUSEOVER ='info_clean();' style='position:absolute;top:0px;left:0px;z-index: -1; width:100%; background: #eeeeee;'>";
echo "<div ONMOUSEOVER ='info_clean();' style='height:340px; width:100%; background: #eeeeee;'>";
echo "</div>";
echo $br;
echo "</div>";
где $br=<br><br><br><br>… столько раз,сколько элементов.
height:340px; - откуда начинают выводиться элементы -
25 августа 2008 г. 0:45, спустя 49 минут 57 секунд
1. Скрытие меню должно происходить с задержкой, чтобы была возможность перевести курсор собственно на него. Юзай setTimeout.
2. Сам слой меню тоже должен содержать onmouseout и onmouseover. По последнему откладывается ранее запущенная процедура скрытия.
3. Статус меню показано/скрыто храни в отдельной переменной.
4. Топик перенес в раздел по JS - там его место! -
-
25 августа 2008 г. 1:18, спустя 4 минуты 53 секунды
AlexB, ты гений.То что надо,а я извращался=(
Спасибо огромое!! -
25 августа 2008 г. 1:21, спустя 2 минуты 48 секунд
CTAPbIu_MABP, сделал как AlexB посоветовал,все работает.
Не сомневаюсь что твой метод не хуже.
Если не трудно,обьясни в чем он заключается?
Желательно по пунктно,как AlexB
=) -
25 августа 2008 г. 12:35, спустя 11 часов 13 минут 59 секунд
ну по наведению на пункт меню становиться видно его подменю (display=block)
при переводе мышки в подменю, основное не прячеться потому что ты по сути из него не вышел
все -
25 августа 2008 г. 13:02, спустя 26 минут 50 секунд
ну по наведению на пункт меню становиться видно его подменю (display=block)
при переводе мышки в подменю, основное не прячеться потому что ты по сути из него не вышел
все
тоже так думал.Но это если пункт меню всплывает по onmouseover, а не onClick.
Иначе эффект не предсказуем=)
Во всяком случае,у меня так -
25 августа 2008 г. 13:02, спустя
Ну тоже вариант, другой вопрос при любой ли верстке это удобно? Ведь пункты меню должны быть тогда спозиционированны абсолютно, а если дизайн отцентрован или того хуже резиновый?
В общем в любом решеннии нюансы найдутся. На всякий случай предлагаю вниманию сообщества свою древнюю реализацию меню. Проверил, вроде IE+Firefox+Opera пашет. В сафари желающие пусть сами проверяют … )))
Сделано на объектах, так что легко прикручивается к сайту любое количество с друг другом не конфликтующих менюшек + поддержка каскадных выпадений любой вложенности с отслеживанием границ окна.
Мож кому пригодится. -
-
25 августа 2008 г. 13:40, спустя 21 минуту 36 секунд
Ну пункты меню-то жестко стоят. Так же не всегда бывает.
AlexB, у меня диз резиновый
Пожалуйста, авторизуйтесь, чтобы написать комментарий!