我有一个简单的下拉菜单,并且为了停止动画的构建,我使用了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();
});
});
我必须在哪里放停止()?
非常感谢任何帮助。
答案 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()
动画,它也将来自元素的最大高度......不要在中间的某个地方切断。