链jQuery .addClass和.removeClass多次延迟

时间:2014-08-25 11:21:21

标签: javascript jquery html css animation

我正在使用来自https://github.com/daneden/animate.css的animate.css,它提供了比jQuery更好的动画。我希望将动画和元素更改与延迟相关联,以淡入淡出元素并更改其内容。

.queue方法适用于单个延迟,但我需要一种有效的方法来链接许多.addClass,.removeClass和.html方法,延迟和尽可能少的语法。

有人知道怎么做吗?

这是一个例子(不起作用,但它应该是什么):

$('div.text').delay(2000).addClass('animated fadeOutLeft').html('New content!').delay(2000).addClass('animated fadeInRight');

并且内容不同,重复了很多次。

1 个答案:

答案 0 :(得分:3)

.delay()仅使用queue()执行基于.animate()的执行方法,因此不适用于.addClass().html()。< / p>

您可以使用手动队列来修复它,如

$('div.text').delay(2000).queue(function () {
    $(this).addClass('animated fadeOutLeft').html('New content!').delay(2000).queue(function () {
        $(this).addClass('animated fadeInRight')
    }).dequeue()
});

演示:Fiddle