пытаясь сделать некоторые div'ы fadeOut, а затем удалить

Я пытаюсь заставить некоторые div'ы исчезать, а затем удалять их.

$("article.articles .thumb a").click(function() {
    $(this).parent().parent().addClass("selected");
    $("article.post").not(".selected").fadeOut(500).delay(1500).remove();
    $('#stream').isotope('reLayout');
});

Но div удаляются сразу, не исчезая.

Что я делаю неправильно?

 David Thomas14 июл. 2012 г., 03:35
delay() работает в очереди анимации,remove()не находится в этой очереди, так что никакого эффекта. Опубликованные ответы должны работать для вас, хотя.

Ответы на вопрос(3)

$("article.articles .thumb a").click(function() {
    $(this).parent().parent().addClass("selected");
    $("article.post").not(".selected").fadeOut(500, function(){
    setTimeout(function(item){ 
      jQuery(item).remove(); }, 1500, $(this));
});
    $('#stream').isotope('reLayout');
});
 Gab14 июл. 2012 г., 03:22
Все еще не дождался ...
 14 июл. 2012 г., 03:25
проверьте ответ еще раз
Решение Вопроса

fadeOut() функция обратного вызова, которая выполняется после завершения эффекта затухания.

.fadeOut( [duration] [, callback] )

$("article.post").not(".selected").fadeOut(500, function(){
   $(this).remove();
})

или же:

$("article.post").not(".selected").fadeOut(500).delay(2000).queue(function(){
   $(this).remove()
})
 Gab14 июл. 2012 г., 03:21
Все еще не дождался ...
 Gab14 июл. 2012 г., 03:49
с помощью .queue сработало, спасибо
 14 июл. 2012 г., 03:29
@Gab вы можете опубликовать часть HTML?

пока div исчезнет, прежде чем удалить его. Вам нужно создать функцию обратного вызова и вызвать удаление внутри нее.

Используйте этот фрагмент

   $("article.post").not(".selected").fadeOut(500, function(){
                            $("article.post").not(".selected").remove();
                        });
 Gab14 июл. 2012 г., 03:22
Все еще не дождался ...

Ваш ответ на вопрос