jQuery 动画悬停闪烁失控

标签 jquery hover jquery-animate

我使用以下代码作为缩略图上的悬停功能:

$(function (){      
  $('.button').hover(function() {  
    if ($(this).is(":not(animated)")) {
      $(this).animate({opacity: 0.7}, 'fast');
    }
  },
  function() {
    $(this).animate({opacity: 1}, 'fast' );
  });
});

问题是,当我过快地传递拇指时,效果会持续闪烁一段时间...我可以在 if block 中添加一些内容来防止这种情况吗?

最佳答案

在开始新动画之前使用 stop() 停止当前动画,它应该可以工作:

$(function (){      
    $('.button').hover(function() {  
        $(this).stop().animate({opacity: 0.7}, 'fast');
    },
    function(){
        $(this).stop().animate({opacity: 1}, 'fast' );
    });
});

关于jQuery 动画悬停闪烁失控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2272271/

相关文章:

javascript - 检查是否加载了 AddThis,然后触发链接横幅?

jquery addclass removeclass onclick 表单标签

jquery - 我如何使用 jquery 创建这些嵌套的 dom 元素?

javascript - jQuery 切换全类名

objective-c - NSTableView 中具有悬停效果的可点击文本

jquery - 如何使用 jQuery 动画步骤对多个属性进行动画处理?

jquery - jQuery 中的动画不透明度留下幽灵元素

css - 悬停时深色背景不透明度

css - 将鼠标悬停在其上时显示隐藏的 div I

javascript - jQuery动画div在动画完成后继续移动