0

私は合計 4 つの div ブロックを持っています。div ブロックは 4 つにすることができ、パーミッションに基づいて 3 つまたは 2 つ、または 1 つの div ブロックにすることもできます。4 つの div ブロックがあり、各 div ブロックは 100 の遅延でフェードインします。

各 div ブロックから常に 100 秒の遅延を持たせるにはどうすればよいですか。

どうやってやるの?私のJSコード

$('div.span1').fadeIn(100);
$('div.span2').fadeIn(200);
$('div.span3').fadeIn(300);
$('div.span4').fadeIn(400);

<div class="span1"></div>
<div class="span2"></div>
<div class="span3"></div>
<div class="span4"></div>
4

2 に答える 2

4

これらの div 要素のすべてが同様のクラス属性を持っていると仮定すると、関数内の各要素に必要な遅延を計算できますeach()。これに似たコードが役立つ場合があります-

var delta = 100;
$('div[class^="span"]').each(function(index,elem){
  $(this).fadeIn((index+1)*delta);
});

ゼロベースであるため、インデックスをインクリメントしていることに注意してください。

私が使用しているセレクタ ( ) は、属性が で始まる$('div[class^="span"]')すべての要素に一致します。これを「実際の」コードに合わせてカスタマイズする必要があると思います。class span

于 2013-02-19T21:48:17.367 に答える
3

すべての div に同じクラスを指定してから、次のようにします。

$('div.span').hide().each(function (i) {
   $(this).fadeIn((i+1)*100);
})

jsFiddle の例

于 2013-02-19T21:48:04.787 に答える