Javascript jquery-如何将一系列css属性更改排队
我想设置一系列动画属性-一个当前不可见但将被标记为可见的名称列表,一个接一个,彼此之间的设置延迟约为100ms。如何使用jquery实现这一点?本质上,它类似于以下伪代码:Javascript jquery-如何将一系列css属性更改排队,javascript,jquery,css,delay,jquery-animate,Javascript,Jquery,Css,Delay,Jquery Animate,我想设置一系列动画属性-一个当前不可见但将被标记为可见的名称列表,一个接一个,彼此之间的设置延迟约为100ms。如何使用jquery实现这一点?本质上,它类似于以下伪代码: for each $(.item) { $(this).delay(index*100ms).css({'visibility': 'visible'} } 唯一可能使这一点复杂化的是,虽然大多数元素都具有相同的类,但并非所有元素都具有相同的类,因此某种类型的动画队列工作得最好 您可以使用来执行此操作 $('#foo').
for each $(.item) {
$(this).delay(index*100ms).css({'visibility': 'visible'}
}
唯一可能使这一点复杂化的是,虽然大多数元素都具有相同的类,但并非所有元素都具有相同的类,因此某种类型的动画队列工作得最好 您可以使用来执行此操作
$('#foo').slideUp(300).delay(800).fadeIn(400);
执行此语句时,元素向上滑动300毫秒,然后暂停800毫秒,然后淡入400毫秒
实际上,您希望对多个项目执行一项操作,因此我将这样做:
$.each($(".a"), function(index, value) {
$(this).delay(index*400).fadeOut(400);
});
您使用伪代码的轨迹是正确的,您需要在某个时候按索引*偏移每个动画
事实证明,.delay实际上不适用于css,因此更新的解决方案:
$.each($(".a"), function(index, value) {
$(this).delay(index*400).queue( function(next){
$(this).css('visibility','visible');
next();
});
});
谢谢,但这将发生在一系列不同的元素上,而不是对同一元素的不同更改。啊,是的,这就是我不确定的。我会马上更新我的答案。等等,你不想把某个东西变成多个项目,或者把多个东西变成一个?