Javascript 为什么';完成';参数在jQuery中的动作参数之前激发?

Javascript 为什么';完成';参数在jQuery中的动作参数之前激发?,javascript,jquery,Javascript,Jquery,我假设淡入淡出动作会先触发,一旦完成,“完成”动作会在之后触发;但在本例中,警报似乎首先触发,然后在我关闭警报后,淡入淡出执行 HTML 完成参数必须是一个函数。您正在立即调用函数,而不是传递函数: $("ol").fadeOut('slow', function() { alert('ninja'); }); $(document).ready(function(){ $("ol").fadeOut('slow',alert('ninja')) }); $("ol").fadeOut

我假设淡入淡出动作会先触发,一旦完成,“完成”动作会在之后触发;但在本例中,警报似乎首先触发,然后在我关闭警报后,淡入淡出执行

HTML


完成参数必须是一个函数。您正在立即调用函数,而不是传递函数:

$("ol").fadeOut('slow', function() { alert('ninja'); });
$(document).ready(function(){
   $("ol").fadeOut('slow',alert('ninja'))
});
$("ol").fadeOut('slow', function() { alert('ninja'); });