gpt4 book ai didi

javascript - 将 jQuery 传递给 .animate 回调

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:48:23 25 4
gpt4 key购买 nike

我已经设置了一个简单的动画方法,如下所示:

Animator: function (obj, aniArgs, duration, aniEasArgs, completeFunction) {
obj.stop(true, true).animate(aniArgs, {
duration: duration,
queue: false,
specialEasing: aniEasArgs,
complete: function () {
if (completeFunction !== null) {

};
}
});
return obj;
},

我想做的是能够传入 jQuery 字符串以在完整回调中运行。其他一切正常。例如,我将如何传入

$('#someElement').hide(500);

进入回调?

谢谢!

最佳答案

首先,使用您要运行的代码创建一个函数:

function complete() {
$('#someElement').hide(500);
}

然后,在调用 Animator 时传入该函数:

Animator( obj, aniArgs, duration, aniEasArgs, complete );

或者,您可以将函数内联:

Animator( obj, aniArgs, duration, aniEasArgs, function() {
$('#someElement').hide(500);
});

它们的工作方式相同,您可以根据使代码更易于阅读的方式来使用任何一种样式。

无论哪种方式,将您的 Animator 代码更改为:

        if( completeFunction ) {
completeFunction();
};

或者,你会经常看到这样写的:

        completeFunction && completeFunction();

他们都做同样的事情。这只是您使用哪种口味的问题,只是想我会提到这两种变体,以便您在看到它们时能够认出它们。

请注意,这里不需要 !== null 测试,事实上这不是您想要的。那是因为如果调用者没有传入 completeFunction,该变量的值将是 undefined,而不是 null,所以您的测试不会不工作。有趣的是,您可以在这种情况下使用 != null,因为这将测试 nullundefined 并将它们视为相同。但实际上你根本不需要这个显式测试,如果你唯一要检查的是调用者是否提供了 completeFunction 回调。

关于javascript - 将 jQuery 传递给 .animate 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16126950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com