首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何阻止jquery重复

如何阻止jquery重复
EN

Stack Overflow用户
提问于 2016-11-29 22:53:08
回答 1查看 73关注 0票数 0

我使用jQuery在mouseenter按钮上滑下一个列表

代码语言:javascript
运行
复制
 $(".topics .goals").mouseenter(function(){
    $(".ligoals").slideDown("slow");
 });

并在mouseleave上滑动

代码语言:javascript
运行
复制
$(document).ready(function(){
  $(".topics .goals").mouseleave(function(){
    $(".ligoals").slideUp("slow");
  });
});

但是我有问题,所以当我快速地移动鼠标时,jquery就会不断地向下和向上滑动。我想知道有没有人能帮上忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-29 23:05:29

这是因为mouseentermouseleave事件是在队列中推送的。如果你动作非常快,很多动画都是排队的,并按时间顺序播放。

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

代码语言:javascript
运行
复制
$(document).ready(function(){
  $(".topics .goals").mouseleave(function(){
    $(".ligoals").stop(true).slideUp("slow");
  });
  $(".topics .goals").mouseenter(function(){
    $(".ligoals").stop(true).slideDown("slow");
  });
});

在一般情况下:

代码语言:javascript
运行
复制
$el.event( function(){                
   $(this).stop(true).animate(...);                
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40877268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档