Javascript jQuery在悬停错误上向上/向下滑动

Javascript jQuery在悬停错误上向上/向下滑动,javascript,jquery,html,jquery-ui,hover,Javascript,Jquery,Html,Jquery Ui,Hover,我有一个大div,里面有一个小div。较小的div首先显示为隐藏。当用户将鼠标悬停在大型容器div上时,较小的div将通过显示/隐藏功能在中设置动画。到目前为止一切正常 不过。较小的div从底部开始设置动画-因此,如果我让光标悬停在容器最底部,它将在较小div滑入时悬停在其动画上。因此,现在光标悬停在较小的div上而不是较大的div上,从而触发较小div上的hide函数。当较小的div滑入和滑出光标指向的位置时,这会创建一个无限循环的show/hide调用 如何避免这种情况,并且在较小的div进

我有一个大div,里面有一个小div。较小的div首先显示为隐藏。当用户将鼠标悬停在大型容器div上时,较小的div将通过显示/隐藏功能在中设置动画。到目前为止一切正常

不过。较小的div从底部开始设置动画-因此,如果我让光标悬停在容器最底部,它将在较小div滑入时悬停在其动画上。因此,现在光标悬停在较小的div上而不是较大的div上,从而触发较小div上的hide函数。当较小的div滑入和滑出光标指向的位置时,这会创建一个无限循环的show/hide调用

如何避免这种情况,并且在较小的div进入时不打破容器上的悬停状态

这就是我的意思:


您可以这样做:

$("#outerDiv").hover(function() {
  $("#innerDiv:hidden").slideDown(); //your show code
}, function() {
  $("#innerDiv:visible").slideUp(); //your show code
});

这将仅在隐藏动画可见时对其进行排队:可见,并且仅在显示动画不可见时对其进行排队:隐藏,以防止出现现在的队列/循环行为。

您可以这样做:

$("#outerDiv").hover(function() {
  $("#innerDiv:hidden").slideDown(); //your show code
}, function() {
  $("#innerDiv:visible").slideUp(); //your show code
});

这仅在隐藏动画可见时对其进行排队:可见,并且仅在显示动画不可见时对其进行排队:隐藏,以防止出现现在的队列/循环行为。

是否使用.hover或.mouseXX事件绑定事件处理程序?我使用了答案中标记为解决方案的方法。对于.hover事件,是否使用.hover或.mouseXX事件绑定事件处理程序?我使用了答案中标记为解决方案的方法。因此。悬停事件。嘿,尼克,这对我有用,但我不希望innerDiv在你翻滚时隐藏起来。在光标离开containerDiv?@Aaron-而不是.hover之前,您可以分别使用.mouseenter和.mouseleave事件,如下所示:$outerDiv.mouseenterfunction{$innerDiv:hidden.slideDown;}$containerDiv.mouseleavefunction{$innerDiv:visible.slideUp;};嘿,尼克,这对我有用,但我不想让innerDiv在你翻车时隐藏起来。在光标离开containerDiv?@Aaron-而不是.hover之前,您可以分别使用.mouseenter和.mouseleave事件,如下所示:$outerDiv.mouseenterfunction{$innerDiv:hidden.slideDown;}$containerDiv.mouseleavefunction{$innerDiv:visible.slideUp;};