jQuery:堕落被切断了

时间:2010-12-06 16:47:11

标签: jquery

我有一个简单的下拉菜单,并且为了停止动画的构建,我使用了stop()指令,但现在,当我测试菜单并将鼠标悬停在菜单中时,下拉菜单会被“切断” “每当我想完全看到它们时。

不确定这是否有意义。

这是我正在使用的脚本:

$(function(){
 $('.dropdown ul').hide();
 $("ul.dropdown li").hover(function(){    
    $(this).addClass("hover");
    $('ul:first',this).stop().slideDown();

 }, function(){    
    $(this).removeClass("hover");
    $('ul:first',this).stop().slideUp();
 });
});

我必须在哪里放停止()?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:5)

我在这里使用.stop(true, true)所以高度永远不会中途离开,如下所示:

$(function(){
  $('.dropdown ul').hide();
  $("ul.dropdown li").hover(function(){    
    $(this).addClass("hover");
    $('ul:first',this).stop(true, true).slideDown();    
  }, function(){    
    $(this).removeClass("hover");
    $('ul:first',this).stop(true, true).slideUp();
  });
});

第二个true参数告诉它完成动画,跳到它的末尾,所以即使你切断了.slideDown()动画,它也将来自元素的最大高度......不要在中间的某个地方切断。