我正在使用来自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');
并且内容不同,重复了很多次。
答案 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