Jquery .click 等到过渡结束

Posted

技术标签:

【中文标题】Jquery .click 等到过渡结束【英文标题】:Jquery .click wait until transition ends 【发布时间】:2014-05-03 04:30:43 【问题描述】:

如果元素当前正在旋转,有谁知道如何停止 .click 函数的工作。

$(".right").click(function(e) 

  angle1 = getRotationDegrees($('.circle'));//find current rotation angle
  newrot = angle1-90;//take 90 degrees from current rotation

  if($('.circle').is(':animated')) return;

  $('.circle').transition( rotate: newrot+'deg',
    duration: 500  );   
);

【问题讨论】:

***.com/questions/9736919/… 【参考方案1】:

您可以在元素旋转时取消绑定事件:

$(".right").unbind( "click" );

如果元素完成旋转,则再次绑定点击事件。

【讨论】:

我将如何使用 bind 和 unbind 重构它?【参考方案2】:

一个简单的解决方案是在再次执行 transition 之前检查 currentAngle % 90 == 0 是否存在。

我认为:animated 不起作用的问题是因为transition (css)jQuery animations 不同,因此:animated 不是由转换携带的。

【讨论】:

以上是关于Jquery .click 等到过渡结束的主要内容,如果未能解决你的问题,请参考以下文章

如何等到jquery中的隐藏效果结束

切换 vue 的 css 过渡结束效果

等到声音结束才能使用网页

ie9 的过渡结束后备

如何用jquery或js结束CSS转换?

过渡结束事件