多个滑动菜单 - .stop()

时间:2011-07-15 07:17:30

标签: jquery

我有这个问题。我有滑动菜单(3级),当我用鼠标快速交叉菜单时,它会上下滑动几次。 我知道jQuery函数.stop()修复了这个,但我不知道如何使用它。

我有这个jquery代码:

    $(document).ready(function(){ 
    $('menu li').hover(function() {
        $(this).find('ul.menu2').slideDown().end().find('a.prvy').css('backgroundPosition','bottom center');
        var width = $(this).find('ul.menu2').css("width");
        $(this).find('ul.menu2 li ul.menu3').css("left",width);
        $(this).find('ul.menu2>li').hover(function() {
            $(this).find('ul.menu3')).fadeIn().end().find('div.text').addClass('activ');
        }, function() {
            $(this).find('ul.menu3').fadeOut().end().find('div.text').removeClass('activ');
        });

    }, function() {
        $(this).find('ul.menu2').slideUp(300).end().find('a.prvy').css('backgroundPosition','top center');
    });
}); 

我尝试了一些想法:

 $('menu li').stop(false,trues).hover(function() {

但它不起作用。

感谢您的回答,对不起我的英语。

1 个答案:

答案 0 :(得分:0)

尝试不带参数:

$(this).find('ul.menu2').stop().slideDown()

onHover 3级下拉菜单,有点 BAD PRACTICE

  • 对移动用户不实用
  • 难以使用触控板
  • 复杂导航一般

如果您必须使用下拉菜单,请考虑更多地执行subtle