javascript - 如何停止jquery重复

标签 javascript jquery

鼠标输入按钮时,我使用 jQuery 向下滑动列表

 $(".topics .goals").mouseenter(function(){
    $(".ligoals").slideDown("slow");
 });

鼠标离开时向上滑动

$(document).ready(function(){
  $(".topics .goals").mouseleave(function(){
    $(".ligoals").slideUp("slow");
  });
});

但是我有问题,当我将鼠标快速移入和移出按钮时,jquery 会不断向下和向上滑动。我想知道是否有人可以提供帮助。

最佳答案

这是因为 mouseentermouseleave 事件被推送到队列中。如果移动速度非常快,则会有大量动画排队,并按时间顺序播放。

您可以使用.stop() 以避免这种行为。例如下面:

$(document).ready(function(){
  $(".topics .goals").mouseleave(function(){
    $(".ligoals").stop(true).slideUp("slow");
  });
  $(".topics .goals").mouseenter(function(){
    $(".ligoals").stop(true).slideDown("slow");
  });
});

一般示例:

$el.event( function(){                
   $(this).stop(true).animate(...);                
});

关于javascript - 如何停止jquery重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40877268/

相关文章:

javascript - 将脚本放在 _layout View 或每个 View 中哪个更好

javascript - 通过 javascript 单击按钮不会导致发布

javascript - HTML5 文件 API 真的会改变用户的文件上传体验吗?

javascript - 在 Chrome 和 Edge 中使用 jQuery 隐藏和显示元素闪烁

javascript - jQuery 替换为 JavaScript 函数

javascript - 仅对具有相同类名的一个元素触发点击事件

jquery - HTML5 文件上传需要 "mouseover with file"事件

jQuery "a"addclass 帮助

javascript - 尝试将 TensorFlow 保存的模型转换为 TensorFlow.js 模型时出错

javascript - 在 Cordova 插件中从 Objective C 执行 Javascript