Reputation: 1007
Every thing works as far as every 500 milliseconds it adds a class to the next blockWrap element in line.
But what I want it to do is start with the last "blockWrap" element, add the class and then work its way up. How can I achieve this?
here is my HTML:
<div class="blockWrap">
<div class="blockImg">
<img src="img/download.jpg">
</div>
</div>
<div class="blockWrap">
<div class="blockImg">
<img src="img/download.jpg">
</div>
</div>
<div class="blockWrap">
<div class="blockImg">
<img src="img/download.jpg">
</div>
</div>
Here is my jQuery loop:
$(document).ready(function(){
$(function () {
var block = $('.blockWrap');
(function _loop(wrap) {
block.eq(wrap).addClass('slideIn');
setTimeout(function () {
_loop((wrap + 1) % block.length);
}, 500);
}(0));
});
});
Thanks for your help.
Upvotes: 1
Views: 172
Reputation: 6031
use below code . pass block.length
as param and deduct value -1 . it will add class from bottom to up
$(function () {
var block = $('.blockWrap');
(function _loop(wrap) {
block.eq(wrap).addClass('slideIn');
setTimeout(function () {
_loop((wrap - 1) % block.length);
}, 500);
}(block.length));
});
Upvotes: 1