Javascript 如何使用addClass和延迟执行这个.each()方法?
我知道.delay()方法,但我相信这只适用于向队列添加动画 我正在做的是用css3制作一个动画“波浪”效果(添加和删除不透明类) 我希望动画有一个延迟,比如说。3秒之间,当所有的每一个都完成时,它应该保持循环。动画也应该以“堆叠”的方式开始,以便不是所有动画都同时淡入 这是我到目前为止试图写的东西,但它不起作用Javascript 如何使用addClass和延迟执行这个.each()方法?,javascript,jquery,animation,css,Javascript,Jquery,Animation,Css,我知道.delay()方法,但我相信这只适用于向队列添加动画 我正在做的是用css3制作一个动画“波浪”效果(添加和删除不透明类) 我希望动画有一个延迟,比如说。3秒之间,当所有的每一个都完成时,它应该保持循环。动画也应该以“堆叠”的方式开始,以便不是所有动画都同时淡入 这是我到目前为止试图写的东西,但它不起作用 <script type="text/javascript"> $(document).ready(function(){ $('.css-pine
<script type="text/javascript">
$(document).ready(function(){
$('.css-pineapple div').each(function(i) {
addO($(this));
});
});
function addO(element) {
setTimeout(function() {
element.addClass('opaque');
}, 800);
removeO(element);
}
function removeO (element) {
setTimeout(function() {
element.removeClass('opaque');
}, 500);
}
</script>
<div class="css-pineapple">
<div class="t1"></div>
<div class="t2"></div>
<div class="t3"></div>
<div class="b1"></div>
<div class="b2"></div>
<div class="b3"></div>
<div class="b4"></div>
<div class="b5"></div>
<div class="b6"></div>
<div class="b7"></div>
<div class="b8"></div>
<div class="b9"></div>
<div class="b10"></div>
</div>
$(文档).ready(函数(){
$('.css菠萝div')。每个(函数(i){
addO($(本));
});
});
函数addO(元素){
setTimeout(函数(){
元素addClass('不透明');
}, 800);
移除(元素);
}
功能移除(元素){
setTimeout(函数(){
element.removeClass(“不透明”);
}, 500);
}
试试这个:
(对于每个元件,延迟增加800。)
$(文档).ready(函数(){
$('.css菠萝div')。每个(函数(i){
addO($(本),800*i);
});
});
功能添加(元素、延迟){
setTimeout(函数(){
元素addClass('不透明');
移除(元素);
},延误);
}
功能移除(元素){
setTimeout(函数(){
element.removeClass(“不透明”);
}, 500);
}
试试这个:
(对于每个元件,延迟增加800。)
$(文档).ready(函数(){
$('.css菠萝div')。每个(函数(i){
addO($(本),800*i);
});
});
功能添加(元素、延迟){
setTimeout(函数(){
元素addClass('不透明');
移除(元素);
},延误);
}
功能移除(元素){
setTimeout(函数(){
element.removeClass(“不透明”);
}, 500);
}
如果没有小提琴或其他东西,这很难回答,但请尝试:
$(document).ready(function(){
Start($('.css-pineapple div'));
});
function Start(elem) {
elem.each(function(i, e) {
setTimeout(function() {
$(e).addClass('opaque');
setTimeout(function() {
$(e).removeClass('opaque');
if (i>=elem.length-1) Start($('.css-pineapple div'));
}, 500);
}, 800*i);
});
}
如果没有小提琴或其他东西可以看,这很难回答,但请尝试:
$(document).ready(function(){
Start($('.css-pineapple div'));
});
function Start(elem) {
elem.each(function(i, e) {
setTimeout(function() {
$(e).addClass('opaque');
setTimeout(function() {
$(e).removeClass('opaque');
if (i>=elem.length-1) Start($('.css-pineapple div'));
}, 500);
}, 800*i);
});
}
该死的,有没有办法让它在整个动画完成后以同样的方式将它们淡出,然后重复?是的,将remove添加到具有延迟的函数中——它将在半秒后删除。(如上所述)hot damn,有没有办法让它在整个动画完成后以相同的方式将它们淡出,然后重复?是的,将remove添加到具有延迟的函数中--它将在半秒后删除。(如上)完美!当它全部完成时,我如何让它重新开始?那是awesome@user1558866-做了一些编辑,不确定它是否工作,因为我还没有测试过,但你可以试试看。太好了!当它全部完成时,我如何让它重新开始?那是awesome@user1558866-做了一些编辑,不确定它是否有效,因为我还没有测试过,但你可以试试看。