jQuery Callback 方法

Callback 函数在当前动画 100% 完成之后执行。

jQuery 动画的问题
许多 jQuery 函数涉及动画。这些函数也许会将 speed 或 duration 作为可选参数。

例子:$("p").hide("slow")

speed 或 duration 参数可以设置许多不同的值,比如 "slow", "fast", "normal" 或毫秒。
以下实例在隐藏效果完全实现后回调函数:

使用 callback 实例

$("button").click(function(){
  $("p").hide("slow",function(){
    alert("段落现在被隐藏了");
  });
});
以下实例没有回调函数,警告框会在隐藏效果完成前弹出:

没有 callback(回调)

$("button").click(function(){
  $("p").hide(1000);
  alert("段落现在被隐藏了");
});


被立即停止的动画不会触发回调,被立即完成的动画会触发回调。
$(document).ready(function(){
    
  $("button").click(function(){
    $("p").hide(3000,function(){
      alert("段落现在被隐藏了");
    });
  });
  $("#happy").click(function(){
      $("p").stop(false,true);
  });
});
如果动画有队列的话,想实现其快速完成所有动画并停止,就要相应的与队列数对应条数的停止语句。

$(document).ready(function(){
  $("#start").click(function(){
    $("div").animate({left:'300px'},5000);
    $("div").animate({fontSize:'3em'},5000);
  });

  $("#stop1").click(function(){
    $("div").stop();
  });

  $("#stop2").click(function(){
    $("div").stop(true);
  });

  $("#stop3").click(function(){
    $("div").stop(false,true);
    $("div").stop(false,true);
  });
});