JazzとWebと無印と

ゆっくり豊かに暮らす

JavaScriptで時間差で要素を表示する

時間差表示がしたい

JavaScriptで画像などを一つずつ順番に表示したいとき、

今更ながら少しはまったのでメモ。

 

 

jQuert delay関数を使う

sleepとか単純に処理を止める関数はない模様なので、

jQueryの関数delayをループで組み合わせる

 

0.1秒ごとに画像を一つずつfadeIn表示する場合

$.each($('.img'), function(index) {

  $(this).delay(index * 100).fadeIn(100)

});

 

delayの遅延時間をループごとに増やしているわけですね。 

 

fadeInなど用意されているものではなく、任意の処理をdelayさせて呼びたい場合は

queue関数を使ってみる。

$.each($('.img'), function(index) {

  $(this).delay(index * 100).queue(function() {
    $(this).addClass('go');
  });

});

 

 

CSSのアニメーションを順番に発火させたいときには

こんな感じでいけそう。