animate()回调多次怎么改成一次?

$(".dynamic_ul Li").slice(0,2).animate({marginTop:"-50px"},changeLi);
                    // changeLi();

我想在动画完成后执行changeLi(),写成回调函数,因为slice(0,2)获取了两个对象changeLi()被执行了两次,如果直接写在下面的话,动画还没结束就调用了,这个要怎么改?

阅读 3.7k
3 个回答
$(".dynamic_ul Li").slice(0,2).animate({marginTop:"-50px"}).promise().done(changeLi);

如果animate运动时间可预设,建议采用函数节流思想来实施。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题