Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выпадающее меню (https://javascript.ru/forum/dom-window/30604-vypadayushhee-menyu.html)

CyMKuH 09.08.2012 17:57

Выпадающее меню
 
Есть меню навигации, каждый пункт - div, один из пунктов - должен быть выпадающим, когда наводишь на него под ним появляется div id=sub_navigation

Обработчики hover:

$(document).ready(function() {
  $("div.menu_items").hover (
    function () {
        if (id=='menu_3') {   
          $("div#sub_navigation").fadeIn(200);
        }
        $(this).find("div.m_background").fadeIn(200);

    }, 
    function () {
        if (id=='menu_3') {
          $("div#sub_navigation").fadeOut(200);
        }
        $(this).find("div.m_background").fadeOut(200);
      }
    } 
  );       

  $("div#sub_navigation").hover (
    function () {
      $(this).fadeIn(200);
      $("div#menu_3").find("div.m_background").fadeIn(200);
    },
    function () {
      $(this).fadeOut(200);
      $("div#menu_3").find("div.m_background").fadeOut(200);
    } 
  ); 
});


Проблема в том, что выпадающее меню и задний фон пункта основного меню появляются через fadeIn и когда я веду курсор от пункта основного меню к выпадающему, они сначала "затухают", а потом "появляются"... Если делать без fadeIn fadeOut - просто display: block, display: none - работает всё нормально... но нужно с анимацией... Подскажите пожалуйста решение.

Deff 09.08.2012 19:57

CyMKuH,
Добавьте минимальный HTML код

CyMKuH 09.08.2012 20:26

<div id="navigation">
<div act="on" class="menu_items borders" id="menu_1"></div>
<div act="off" class="menu_items borders" id="menu_3"></div>
<div act="off" class="menu_items borders" id="menu_4"></div>
<div act="off" class="menu_items borders" id="menu_5"></div>
<div act="off" class="menu_items borders" id="menu_6"></div>
<div act="off" class="menu_items " id="menu_7"></div>
</div>
<div id="sub_navigation" style="display: none"></div>

В каждом диве класса menu_items есть див div.m_background - это типа фон. Каждый div.menu_items имеет размеры. По высоте - все одинаковы (меню горизонтальное) Под div#menu_3 позицианируется абсолютно div#sub_navigation. Стоят "встык". т.е. когда я двигаюсь вниз с menu_3 то сразу попадаю на div#sub_navigation. div#sub_navigation шире чем div#menu_3

Deff 09.08.2012 20:49

CyMKuH,
Это - не пойдёт ? http://javascript.ru/forum/dom-windo...tml#post182559 пост 21

CyMKuH 09.08.2012 21:03

Цитата:

Сообщение от Deff (Сообщение 196027)
CyMKuH,
Это - не пойдёт ? http://javascript.ru/forum/dom-windo...tml#post182559 пост 21

Не то...(((


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