jquery - 仅动画一次

标签 jquery

我使用 jQuery .animate() 移动一个项目一次,但它似乎以 100px 的增量移动多次。是因为鼠标悬停了吗?

var ww = $(window).width();

$(document).on('mouseover', '#myTarget', function () {
     var dp = $(this).offset().left;

     if ((ww - dp) < 150) {
         $('.myDiv.active').animate({left:'-=100px'},500);
     }
}); 

最佳答案

将其更改为 $(document).on('mouseenter', '#myTarget', function () { 会更好。每次鼠标进入或离开该元素或其子元素之一时,都会触发一个 mouseover 事件。 mouseenter 不会发生这种情况。 example here显示了这一点。

参见this answer对于类似的问题以及所提供示例的来源。

关于jquery - 仅动画一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39880601/

相关文章:

jquery - 使用 CSS 使一个部分匹配另一个部分的高度

javascript - document.ready() 内部函数和 &lt;script&gt;&lt;/script&gt; 标签中函数的区别

javascript - 限制服务器发送到页面的 Backbone 模型属性?

jquery - 在 django 模板中有效加载 jquery 和 javascript 文件

javascript - 根据 url 参数显示不同的 Google 分析 JavaScript

javascript - 如何在使用ajax提交的codeigniter中使用form_validation验证表单数据

php - Ajax 调用在 WordPress 中无法正常工作

jquery - 多维数组 JQUERY 和 JSON

jquery - 简单的 JQuery 验证器 addMethod 不起作用

jquery - 我们如何在 jquery 中添加 css + 动画?