我正在使用动画,在我的网页上,有许多动画同时发生。我需要在某些动画开始时播放音频,并在某些动画结束时显示某些内容。
过去,我使用过 JQuery 的.animate()
,它包含动画开始和结束的回调:
.animate({
//css here
}, {
start: function(){}, //called on start of animation
complete: function(){}, //called on end of animation
});
这真的很整洁和有用,并且像一个魅力一样工作,而无需调用具有相应动画持续时间的 setTimeouts。
但是现在我需要一些更高级的动画,JQuery UI效果已经令人满意,直到我需要再次使用启动回调:在JQuery UI .effect()API页面上,只有complete:
回调存在。玩弄 JQuery UI 源代码,我发现它使用.animate()
来做事,所以似乎可以对其进行一些更改并添加一个start:
选项,但我不想弄乱源代码(除非它很简单并且不会造成一些损害),并且不想只用.animate()
重新创建每个效果。
有没有办法在 JQuery 的 UI.effect()
和.toggle()
上start:
?还是我应该使用支持它的完全不同的 API?有什么建议吗?提前谢谢。
我发现 GSAP 的 TweenMax 在动画方面比 JQuery UI 好得多,并且可以完成我需要的一切:动画、事件、回调、时间线,一切。
链接: https://greensock.com/gsap