【问题标题】:Detect end of JQuery animation [duplicate]检测JQuery动画的结束[重复]
【发布时间】:2020-08-20 07:32:54
【问题描述】:

我有一个像这样的工作 Jquery 动画:

const e = $("#span-7");
e.css({fill: "#4287f5", transition: "0.5s"});

如何检测动画的结束?

我试过这个没有运气!

e.one("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd", function(){
       console.log('Animation Ended!');
});

编辑:伙计们,动画不适用于填充动画。我需要使用 .css 动画。

【问题讨论】:

  • 你使用的是什么 jquery 版本?
  • jquery-3.5.1.min.js 有关系吗?!

标签: javascript jquery


【解决方案1】:

如果您使用 jQuery,您可以使用 .animate() 方法制作动画

.animate() 方法有complete callback

const e = $("#span-7");
e.animate({
  fill: "#4287f5"
}, 500, function(){
   // animation complete
})

UPD:对于动画填充属性,您必须使用 jQuery 插件 jQuery Color

工作演示https://codepen.io/-greg-/pen/jOqMJNp

UPD:如果你不想使用 jQuery 颜色插件: 使用事件transitionendwebkitTransitionEnddemo

【讨论】:

  • 你的代码不起作用!!!
  • 我的意思是动画不工作..
  • 元素是一个 SVG tspan
  • 我的脚本正在运行,你问回拨,我给你回拨的答案。其他问题如何动画填充属性,你可以在这里link
  • 抱歉,您的脚本不工作...在 animate 中使用 fill 不起作用,这就是为什么我使用 .css 为填充设置动画...我的问题不是关于如何在animate 中使用回调,这几乎没有人能正确理解...
猜你喜欢
  • 1970-01-01
  • 2017-03-21
  • 2014-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-25
  • 2018-09-12
相关资源
最近更新 更多