animate's callback function (complete) executed at start?

后端 未结 8 2118
渐次进展
渐次进展 2020-12-15 03:07

I\'m using jQuery 1.5.1 This is my code:

$(\'.cellcontent\').animate({
   left: \'-=190\'}, {
   easing: alert(\'start ani\'),
   duration: 5000,
   complete         


        
8条回答
  •  忘掉有多难
    2020-12-15 04:05

    declare them in a function first, otherwise the method is called instantly:

    var onComplete = function () {
        alert('end ani');
    };
    

    then call them without the ()

    $('.cellcontent').animate({
        left: '-=190'}, {
        easing:  'slow', 
        duration: 5000,
        complete: onComplete //<-- function is passed as a variable, not called directly
     });
    

    or wrap them directly into a function (less readable and slower when calling this a lot):

    $('.cellcontent').animate({
      left: '-=190'}, {
      easing:  'slow',
      duration: 5000,
      complete:  function () {
            alert('end ani');
      }
    }); 
    

提交回复
热议问题