
jQueryの繰り返し処理用の関数、$.eachを使って複数の要素に時間差でアニメーションをつける方法をメモしておこうと思います。
ギャラリーサイトなどで要素を表示するときに、ひとつずつ徐々にフェードインさせたい時などに使えると思います。
書き方はこんな感じ
li要素でオブジェクトを並べるとして、サイト表示時にオブジェクトをひとつずつフェードインさせていくコードを書いてみましょう。オブジェクトはcssで透明度を0にしておきます。
ul li{
opacity:0;
}
var thum=$('ul li'); //オブジェクトを取得
var interval=100; //フェードインさせる間隔
$.each(thum,function(i){
thum.eq(i).delay(i*interval).animate({'opacity':'1'},900,'swing');
});
.delay(i*interval)を挟むことで、指定した間隔でアニメーションが適用されていきます。
iがオブジェクトを数えていくので、処理が繰り返されるたびに1×100,2×100、3×100とアニメーションが適用されるタイミングをずらしていけるという事です。
.animateの部分を今回はopacityにしていますが、他のスタイルに変えれば色々と面白い効果が作れると思います。

