Javascript “完整”论点的目的是什么?
一些jQuery动画方法采用一个称为Javascript “完整”论点的目的是什么?,javascript,jquery,animation,Javascript,Jquery,Animation,一些jQuery动画方法采用一个称为complete的参数,该参数是动画完成后要调用的函数。例如: $(obj).slideUp(duration, easing, complete()); 这与在下面的动画之后调用complete有什么不同 $(obj).slideUp(duration, easing) .complete(); 区别在于,在第二种情况下,在动画启动后立即调用complete,而在动画结束时将其作为回调触发器传递 动画实际上可以是异步的,因此javascript在启动动画
complete
的参数,该参数是动画完成后要调用的函数。例如:
$(obj).slideUp(duration, easing, complete());
这与在下面的动画之后调用complete
有什么不同
$(obj).slideUp(duration, easing)
.complete();
区别在于,在第二种情况下,在动画启动后立即调用
complete
,而在动画结束时将其作为回调触发器传递
动画实际上可以是异步的,因此javascript在启动动画后继续执行,因此在$(obj)之后立即调用complete()
代码>不保证在动画完成后,仅在动画启动后执行complete
调用
也
应该是
$(obj).slideUp(duration, easing, complete);
事实上,在第一种情况下,您甚至在动画开始之前调用complete
函数
最后,请注意第二个例子似乎是错误的:
$(obj).slideUp(duration, easing)
.complete();
这将调用slideUp
与调用complete
链接起来,但是jquery对象没有complete
方法。可能是:
$(obj).slideUp(duration, easing);
complete();
事实上,这是之前编辑的问题
$(obj).slideUp(duration, easing, complete());
这是错误的。这是在调用slideUp
之前调用complete
$(obj).slideUp(duration, easing);
complete();
这将执行slideUp
,然后立即调用complete
。调用complete
时,slideUp
动画可能尚未(事实上肯定不会)完成
$(obj).slideUp(duration, easing, function () {
alert('Complete!');
});
// or
$(obj).slideUp(duration, easing, complete);
// ^^ look ma, no () !
这就是你应该如何使用它。“完成!”只有在slideUp
动画完成后才会发出警报。不应该是$(obj)。slideUp(持续时间、放松、函数(){Complete()})
这是完全相同的。我记得它通常会立即运行,除非您将其包装到函数中。除非您通过编写complete()
而不是只传递complete
名称来调用它。不客气:),但请查看我的上一次编辑。此外,如果我的答案对你有帮助,你可以自由地投票表决,并/或接受它作为正确答案。
$(obj).slideUp(duration, easing, function () {
alert('Complete!');
});
// or
$(obj).slideUp(duration, easing, complete);
// ^^ look ma, no () !