我有一个绑定到.click()事件的函数。 每次用户单击时,浏览器将淡出当前元素并为新元素的marginLeft设置animate()动画。 出于某种原因,当我快速单击绑定到此click事件的按钮时,在Chrome中,它会跳过动画并直接直接转到下一个事件(仅当我在1秒内单击5次一样)并且不添加marginLeft,在这种情况下,它会引起UI的主要可用性问题。 此方案是否有任何备用? 就像动画没有完成一样,直接用css()或类似的东西添加它?

谢谢

E:如果有帮助,则click()事件会调用一个函数,其中发生了所有不可思议的事情。

===============>>#1 票数:2 已采纳

您可能需要研究jquery的.stop()方法。 它允许您短路元素上当前正在运行的动画。

简单的例子:

$myElement.on('click', function() {
    // first 'true' clears animations in the queue for this element
    // second 'true' completes the currently-running animation immediately
    $(this).stop(true, true).fadeOut();
});

http://api.jquery.com/stop/

  ask by Johnny000 translate from so

未解决问题?本站智能推荐:

关注微信公众号