0

我试图在javascript中遍历一个类的每个元素,并在暂停几秒钟后显示它。我的逻辑是错误的,但是因为 jQuery 调用的是类,而不是 的唯一实例this,所以它会同时显示所有内容:

jQuery( document ).ready(function ($) {
    $( ".fadein" ).hide();

    $( ".fadein" ).each(function (index) {
      $( "." + this.className ).delay(index * 800).fadeIn( "slow" );
    });
});
4

1 回答 1

2

each 循环已经设计为一次一个地传递给您元素。目标元素作为“this”传递,因此只需在“循环”中淡入当前元素,而不是每次都获取所有元素。

// Replace this
$( "." + this.className ).delay(index * 800).fadeIn( "slow" );
// with this
$( this ).delay(index * 800).fadeIn( "slow" );

// result:
$( ".fadein" ).each(function (index) {
    $( this ).delay(index * 800).fadeIn( "slow" );
});
于 2013-11-05T19:02:44.643 回答