【发布时间】:2026-01-13 06:55:02
【问题描述】:
我正在为我的项目使用animate.css 库。我认为创建一个可以为我完成大部分工作的 jQuery 函数会更容易。这是函数:
$(function () {
$.fn.extend({
animateCss: function (animationName, callback) {
var animationEnd = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
this.addClass('animated ' + animationName).one(animationEnd, function () {
$(this).removeClass('animated ' + animationName);
if(callback){
callback();
};
});
}
});
});
它有效,我可以从 jQuery 对象中调用它。问题是,当我从一个对象传入回调函数时,它会被调用,但是当另一个对象调用该函数而不传入回调时,该对象的相同函数会再次被调用。
我不太确定这是怎么发生的,我来自 Java 背景。有没有办法让这个函数保留为其他对象传入的回调变量?
【问题讨论】:
-
为什么不简单地将动画 css 类添加到 html 中?
-
@NathanielFlick 我需要在添加类后删除它们,这样它们才能再次使用。另外,我不想在动画完成后运行一个函数。这就是我将功能封装在这个函数中的原因。
标签: javascript jquery css animate.css