Jquery 添加类时使用.each添加延迟
我正在尝试创建一个简单的动画,其中每个字母将一个接一个地缩放。在每个div中添加类时是否可能有1秒的延迟?以下是我目前所做的: HTMLJquery 添加类时使用.each添加延迟,jquery,html,css,css-animations,Jquery,Html,Css,Css Animations,我正在尝试创建一个简单的动画,其中每个字母将一个接一个地缩放。在每个div中添加类时是否可能有1秒的延迟?以下是我目前所做的: HTML <div class="animation"> <div>a</div> <div>n</div> <div>i</div> <div>m</div> <div>a</div> &l
<div class="animation">
<div>a</div>
<div>n</div>
<div>i</div>
<div>m</div>
<div>a</div>
<div>t</div>
<div>e</div>
</div>
JAVASCRIPT
$(document).ready(function(){
$.each( $('.animation'), function(i, animation){
$('div', animation).each(function(){
$(this).addClass('animate_letters')
})
})
})
您可以使用
setTimeout()
:
更新:而且您不需要两个。每个()
。您可以使用选择器$('.animation div')
将其缩小到一个.each()
:
根据Milind Anantwar的回答,您需要使用
设置超时,但给每个字母一个不同的超时:
$(document).ready(function(){
$('.animation').each(function(i, animation){
$('div', animation).each(function(j, div){
setTimeout(function() {
$(div).addClass('animate_letters');
}, 1000*j);
});
});
});
谢谢你的解决方案。有一个问题,函数(ii)是什么意思?那就是循环迭代的索引。请参见.each()
函数中的参数
$(document).ready(function(){
$.each( $('.animation'), function(i, animation){
$('div', animation).each(function(ii){
var data = $(this);
setTimeout( function () {
$(data).addClass('animate_letters')
}, ii * 1000);
})})});
$(document).ready(function(){
$('.animation div').each(function(ii){
var data = $(this);
setTimeout( function () {
$(data).addClass('animate_letters')
}, ii * 1000);
})});
$(document).ready(function(){
$('.animation').each(function(i, animation){
$('div', animation).each(function(j, div){
setTimeout(function() {
$(div).addClass('animate_letters');
}, 1000*j);
});
});
});