bonjour, j'essaye de faire un menu dropdown avec les fonction slideDown et Up, et je voudrais savoir de quel élément je viens parce que mon menu est de la sorte : [code]

  • menu
  • menu 1
  • menu 1
  • menu 1

[/code] et je fais ma capture pour dérouler le dropdown-menu sur $('.menu').mouseenter(/* je slideup tout les dropdown et slide down le bon*/).mouseleave(/* je slide up le dropdown lorsqu'on leave celui-ci */);[/code] et du coup, lorsqu'on passe du dropdown au .menu, le dropdown remonte puis descend et je n'arrives pas et ne vois pas comment éviter cela merci

2 réponses


Met des stop et des delay pour éviter ce repli intempestif :)

Flohw
Auteur

j'ai modifié le premier post (le code) pour que ca colle avec ce que j'ai réussi à modifier pour que ca marche encore mieux qu'avant mais j'ai toujours le repli et je vois pas où ajouter le stop (dans le $('li.menu').mouseleave() ? ou les delay...

$("a.menu").mouseenter(function(){
        $('.menu-dropdown').slideUp();
        $('.active').removeClass('active');
        $(this).parent().find('.menu-dropdown').stop(true, true).slideDown('slow', function(){
            $(this).find('input[type="text"]').focus();
        });
        $(this).addClass('active');
    });
    $('li.menu').mouseleave(function(){
        $(this).find('.menu-dropdown').slideUp();
        $(this).find('.active').removeClass('active');
    });