动画完成jQuery时执行代码

时间:2011-08-11 20:21:28

标签: jquery

$(this).animate({"left": left+"px"}, { queue: false, duration: 500 })
.animate({"top": top+"px"}, { queue: false, duration: 500 })
.animate({"height": size+"px"}, { queue: false, duration: 500 })
.animate({"width": size+"px"}, { queue: false, duration: 500 });

我是jQuery的初学者。我想在动画结束时运行以下代码:

$('#map').css('cursor','pointer');

我该怎么做?而且,如果我的代码不好,我会非常感谢你改进它。

谢谢!

4 个答案:

答案 0 :(得分:3)

您可以同时为它们设置动画并使用"complete" callback

$(this).animate({
    left:   left + 'px',
    top:    top  + 'px',
    height: size + 'px',
    width:  size + 'px'
}, {
    queue:    false,
    duration: 500,
    complete: function() {
        $('#map').css('cursor','pointer');
    }
});

答案 1 :(得分:1)

试试这个:

$(this).animate(
    { // map of the properties to animate
        'left': left + 'px',
        'top': top + 'px',
        'height': size + 'px',
        'width': size + 'px'
    },
    500, // animation duration
    function() { // function to execute when animation is completed
        $('#map').css('cursor','pointer');
    }
);

答案 2 :(得分:0)

    $(this).animate({"left": left+"px"}, { queue: false, duration: 500 })
    .animate({"top": top+"px"}, { queue: false, duration: 500 })
    .animate({"height": size+"px"}, { queue: false, duration: 500 })
    .animate({"width": size+"px"}, { queue: false, duration: 500,
      complete : function() {
         $('#map').css('cursor','pointer');
          }
    });

如果我理解正确,应该是这样。

答案 3 :(得分:0)

$(this).animate({
  "left": left+"px",
  "top": top+"px",
  "height": size+"px",
  "width": size+"px"
},{
  queue: false, 
  duration: 500,
  complete: function(){
    $('#map').css('cursor','pointer');
  }
});