Reputation: 5016
I am trying to make sequential delay for opacity transition:
$('.wrapper').children('div').each(function(){
$(this).removeClass('hidden').addClass('visible');
});
Now they all fade at once, I would like a sequential fade.
Is it possible with just css?
Upvotes: 0
Views: 1131
Reputation: 124
Yes it is possible.
You can use the transition delay property: http://www.w3schools.com/cssref/css3_pr_transition-delay.asp
HTML:
<div class="first"></div>
<div class="second"></div>
<div class="third"></div>
CSS:
.first {
-webkit-transition-delay: 0s;
-moz-transition-delay: 0s;
-o-transition-delay: 0s;
-ms-transition-delay: 0s;
transition-delay: 0s;
}
.second {
-webkit-transition-delay: 1s;
-moz-transition-delay: 1s;
-o-transition-delay: 1s;
-ms-transition-delay: 1s;
transition-delay: 1s;
}
.third {
-webkit-transition-delay: 2s;
-moz-transition-delay: 2s;
-o-transition-delay: 2s;
-ms-transition-delay: 2s;
transition-delay: 2s;
}
For it to work on n children you have to use javascript like so:
Javascript:
$('.wrapper').children('div').each(function(index, value) {
.css('-webkit-transition-delay', index + 's')
.css('-moz-transition-delay', index + 's')
.css('-ms-transition-delay', index + 's')
.css('-o-transition-delay', index + 's')
.css('transition-delay', index + 's');
});
Upvotes: 1