jQuery slideUp / Down不断重复?

时间:2013-12-09 03:57:02

标签: jquery html

我有一个列表,当div悬停在右边时会弹出一个列表。我想使用jqueries slideUp / Down来显示和隐藏列表,这些列表大部分时间都在工作。但有时功能会反复触发。不断开启和关闭。我不知道为什么会这样。有什么想法吗?

继承我的代码:

$(myDiv).hover(

  function () {

    $('ul.list_menu').slideDown('medium');

     }, 
     function () {

        $('ul.list_menu').slideUp('medium');

     }

);

2 个答案:

答案 0 :(得分:3)

尝试一些stops

$(myDiv).hover(function () {
    $('ul.list_menu').stop(true, true).slideDown('medium');
},function () {
    $('ul.list_menu').stop(true, true).slideUp('medium');
});

答案 1 :(得分:1)

你必须向我们展示你的HTML以确定发生了什么,但是如果滑动菜单的行为导致鼠标不再在div上面,那么它将自动“取消悬停”并触发菜单关闭,然后当它关闭时,它将再次悬停,并在一些鼠标位置前后循环。

解决这个问题的方法是改变HTML,这样放下菜单就不会与使其下降的鼠标位置重叠,也不会使用不同的机制来关闭菜单,而不是在你的div上进行de-hover

要解决快速悬停和移除鼠标的问题(虽然这听起来不是您所描述的问题),但您还应该使用.stop(true)取消之前的动画,如下所示:

$('ul.list_menu').stop(true).slideDown('medium');