Jquery Cookbook/5. 빠르게, 간단하게, 더욱 재미있게

5.6 사용자 정의 반복기 작성하기

altvirus 2011. 11. 10. 14:39
each 문을 바로 한꺼번에 말고, 중간에 조금씩 시간을 두고 실행한다.
 

<div class="xx">1</div>

<div class="xx">2</div>

<div class="xx">3</div>

<script>

$('div').hide();

$.slowEach = function(array, interval, callback){

if(!array.length) return;

var i=0;

next();


function next(){

if(callback.call(array[i], i, array[i]) !==false && ++i<array.length) setTimeout(next, interval);

}

return array;

}




$.fn.slowEach = function(interval, callback){

return $.slowEach(this, interval, callback);

}




$('.xx').slowEach(500, function(a, b){

$(this).show();

});