jquery - 使用 jQuery 触发连续的 animated.css 动画

标签 jquery css animation animate.css

我正在尝试使用 jQuery 按顺序为元素设置动画。我试图实现的方法是在每个应该设置动画的元素上添加“动画 fadeInDown”类,延迟 500 毫秒。

我遇到的问题是 jQuery(或者如果我使用 setTimetout 函数)将同时触发所有动画。

这是我的代码:

$('.row-assets .asset').each(function(i) {
    $(this).delay((i++) * 500).addClass('animated').addClass('fadeInDown');
});

我做错了什么?

最佳答案

addClass() 不是 jQuery 动画队列的一部分,因此不受 delay() 的影响。正确使用 setTimeout 应该有效:

DEMO

var addClassToEl = function($el) {
    $el.addClass('animated fadeInDown');
};

$('.row-assets .asset').each(function(i, el) {
    setTimeout(function() {addClassToEl($(el))}, i++ * 500);
});

如果您想要动画化它们的变化,您必须确保您的类具有适当的 CSS 过渡。

关于jquery - 使用 jQuery 触发连续的 animated.css 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24577753/

相关文章:

android - 滚动时禁用/暂停 RecyclerView 动画和/或只允许 RecyclerView 动画

jquery - 如何在不单击的情况下突出显示可选择的元素(通过代码)?

jquery - 列表标签重叠

javascript - PHP google map 按类型获取纬度和经度

c# - 什么时候应该调用 Page.Header.DataBind?

css - ExtJS 4 - 样式化文件字段 xtype 的按钮

css - 如何在 CSS 中组合通用选择器和属性选择器

html - 用 If 替换帖子上的图片

javascript - 使用 XHR 更改 URL

c# - 动画化 TreeView 中项目的添加/删除 - WPF