jquery hover li> ul - держать видимым, пока не уберете мышь из sub UL - PullRequest
0 голосов
/ 15 июля 2010

Код:

        $("ul.menu_body li:even").addClass("alt");
        $('li a.menu_head').hover(function () {
            $('ul.menu_body').slideToggle('medium');
        },
            function(){
        $('ul.menu_body').slideToggle('medium');
            });

нашел этот код где-то в Интернете, первоначально это было событие щелчка на "li a.menu_head", чтобы показать и скрыть "ul.menu_body".

клик работает отлично.Я бы предпочел эффект наведения.

к сожалению, мой код мгновенно скрывает UL, как только вы убираете мышь с исходного LI.Как я могу настроить это так, чтобы «ul.menu_body» оставался видимым до тех пор, пока мышь не будет выключена из UL, вместо того, чтобы просто «li a.menu_head».

спасибо.

мой html

1013 *

Ответы [ 3 ]

1 голос
/ 15 июля 2010

Можно попробовать

    $('li a.menu_head').mouseenter(function () {
        $('ul.menu_body').slideDown('medium');
    });
    $('ul.main_UL_class_here').mouseleave(function(){
    $('ul.menu_body').slideUp('medium');
        });
0 голосов
/ 15 июля 2010

Проблема в том, что вы используете hover, попробуйте это так

$(document).ready(function() { 
    $("ul.menu_body li:even").addClass("alt");
    $('ul.menu_body').slideToggle('medium');

    $('li a.menu_head').bind('mouseenter', function () {
        $('ul.menu_body').slideDown('medium');
    });
    $('.menu_body').bind('mouseleave', function(){
        $('ul.menu_body').slideUp('medium');
    });
});
0 голосов
/ 15 июля 2010
    $('li a.menu_head').hover(function () {
        $('ul.menu_body').show()
    });

    $('ul.menu_body').hover(function () {

    },
    function(){
        $('ul.menu_body').hide();
   });

немного больше проб и ошибок, и, похоже, это делает ... не уверен, правильно ли иметь функцию "blanK".

...