Использование setTimeout()
напрямую (которое .delay()
использует для внутреннего использования) здесь проще, поскольку .remove()
не является функцией в очереди, в целомэто должно выглядеть так:
$('body').append("<div class='message success'>Upload successful!</div>");
setTimeout(function() {
$('.message').remove();
}, 2000);
Вы можете попробовать здесь .
.delay()
для анимации (иликак бы там ни было), чтобы использовать ее, вам нужно сделать что-то вроде:
$("<div class='message success'>Upload successful!</div>").appendTo('body')
.delay(2000).queue(function() { $(this).remove(); });
Что работает, здесь ... но просто излишне и ужасно неэффективно, радицепочки ИМО.Обычно вам также придется вызывать dequeue или следующую функцию, но так как вы все равно удаляете элемент ...