jquery不会在删除之前等待动画完成,为什么?

jquery不会在删除之前等待动画完成,为什么?,jquery,Jquery,我在做一些简单的事情,而不是仅仅做: $(this).next().remove(); 我希望它有更多的光斑,并希望添加一个动画功能 $(this).next().slideUp().remove(); 在移除项目之前,它将向上滑动以隐藏项目。在使用Chrome进行测试时,它几乎只是删除了项目,并没有实现我所期望的平滑过渡 在不删除的情况下进行测试,可以正确使用slideUp()项 我缺少什么吗?尝试使用方法的回调函数 $(this).next().slideUp(function() {

我在做一些简单的事情,而不是仅仅做:

$(this).next().remove();
我希望它有更多的光斑,并希望添加一个动画功能

$(this).next().slideUp().remove();
在移除项目之前,它将向上滑动以隐藏项目。在使用Chrome进行测试时,它几乎只是删除了项目,并没有实现我所期望的平滑过渡

在不删除的情况下进行测试,可以正确使用slideUp()项


我缺少什么吗?

尝试使用方法的回调函数

$(this).next().slideUp(function() {
  // remove the element after 
  // animation finished
  $(this).remove();
});

这是因为
slideUp
发生在后台。要等待它完成,请使用它的回调

$(this).next().slideUp(function(){
    $(this).remove();
});

动画调用是异步的,因为它开始但执行继续。实现所需的方法是使用回调,可能如下所示:

 $(this).next().slideUp(function(){
     $(this).remove();
    });