检测 JQuery 动画结束

3

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

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

如何检测动画的结束?

我尝试了这个方法但是没有成功!

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

编辑:大家请注意,fill动画不支持使用animate。我需要使用.css动画。


1
你正在使用哪个版本的jQuery? - hgb123
jquery-3.5.1.min.js 有关系吗?! - Sara Ree
1个回答

0
如果您使用jQuery,可以使用.animate()方法进行动画处理。 .animate()方法具有完成回调
const e = $("#span-7");
e.animate({
  fill: "#4287f5"
}, 500, function(){
   // animation complete
})

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

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

更新:如果您不想使用jQuery颜色插件: 使用事件transitionendwebkitTransitionEnddemo


你的代码不起作用!!! - Sara Ree
我的意思是动画没有工作。 - Sara Ree
该元素是一个SVG tspan。 - Sara Ree
我的脚本正在运行,你问关于回调的问题,我会给你有关回调的答案。 另一个问题是如何动画填充属性,你可以在这里查看链接 - Greg--
抱歉,但您的脚本无法正常工作...在动画中使用fill是行不通的,这就是为什么我使用.css来实现填充动画的原因...我的问题不是关于如何使用回调函数与animate一起使用,这几乎没有人能够正确理解它... - Sara Ree
它运行良好,请检查 https://codepen.io/-greg-/pen/jOqMJNp回调正常工作,您需要先阅读我的链接,了解如何使用 .animate() 填充。要为填充添加动画效果,请添加 jquery-color 插件,这是来自 jQuery 的官方插件,访问官方页面:https://code.jquery.com/color/。 - Greg--

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接