如何在animate()元素的同时将animate()另一个放在它上面?

时间:2013-06-21 21:10:45

标签: jquery css

我有一个元素列表,每个元素都有一个删除按钮,我正在尝试使删除按钮fadeOut元素,而兄弟姐妹移动到顶部。问题是,当我点击删除有问题的元素时,淡出但兄弟姐妹不移动,他们只是改变位置而不动画。当上面的元素消失时,如何让它们向上移动。这是jsfiddle:http://jsfiddle.net/4c82H/

以下是代码:

$('div').click(function() {
    $element = $(this);    
    var height = $element.height();
    $element.fadeOut(400);
    $element.next().animate({top:'-=' + height + 'px'});
});

谢谢!

编辑: 有些人提议使用slideUp,谢谢你,它有效,但有没有办法在其他人滑动时淡化元素?

$element.fadeOut();
$element.slideUp();

不起作用。

2 个答案:

答案 0 :(得分:4)

slideUp会这样做。我在这里附上了一个样本。 http://jsfiddle.net/4c82H/1/

答案 1 :(得分:1)

根据Neta的建议,您应该使用slideUp()代替:

http://jsfiddle.net/4c82H/3/

$('div').click(function() {
    $(this).slideUp();
});