0

テキストを目的とする次のjquery関数があります。基本的に、私が要求したすべての要素を見つけて、それらをアニメーション化します。問題は、ご覧のとおり、すべての要素を一度に見つけて、それらをすべて同時にアニメーション化することです。各要素 (h2、h3、およびスパン) を個別にアニメーション化したいと考えています。

助言がありますか?たぶん、.find コマンドの間にある種の休憩がありますか? ありがとう!

      $nextSlide.find('div.ei-title > h2')
                      .css( 'margin-right', 50 + 'px' )
                      .stop()
                      .delay( this.options.speed * this.options.titlesFactor )
                      .animate({ marginRight : 0 + 'px', opacity : 1 }, this.options.titlespeed, this.options.titleeasing )
                      .end()
                      .find('div.ei-title > h3')
                      .css( 'margin-right', -50 + 'px' )
                      .stop()
                      .delay( this.options.speed * this.options.titlesFactor )
                      .animate({ marginRight : 0 + 'px', opacity : 1 }, this.options.titlespeed, this.options.titleeasing )
                      .end()
                      .find('div.ei-title > span.custom1')
                      .css( 'margin-right', -50 + 'px' )
                      .stop()
                      .delay( this.options.speed * this.options.titlesFactor )
                      .animate({ marginRight : 0 + 'px', opacity : 1 }, this.options.titlespeed, this.options.titleeasing )
                      .end
                      .find('div.ei-title > span.custom2')
                      .css( 'margin-right', -50 + 'px' )
                      .stop()
                      .delay( this.options.speed * this.options.titlesFactor )
                      .animate({ marginRight : 0 + 'px', opacity : 1 }, this.options.titlespeed, this.options.titleeasing )
                      .end
4

1 に答える 1

0
$nextSlide.find('div.ei-title > h2')
  .css( 'margin-right', 50 + 'px' )
  .stop()
  .delay( this.options.speed * this.options.titlesFactor )
  .animate({ marginRight : 0 + 'px', opacity : 1 }, this.options.titlespeed, this.options.titleeasing, function(){
    $nextSlide.find('div.ei-title > h3')
      .css( 'margin-right', -50 + 'px' )
      .stop()
      .delay( this.options.speed * this.options.titlesFactor )
      .animate({ marginRight : 0 + 'px', opacity : 1 }, this.options.titlespeed, this.options.titleeasing, function(){
        $nextSlide.find('div.ei-title > span.custom1')
          .css( 'margin-right', -50 + 'px' )
          .stop()
          .delay( this.options.speed * this.options.titlesFactor )
          .animate({ marginRight : 0 + 'px', opacity : 1 }, this.options.titlespeed, this.options.titleeasing, function(){
            $nextSlide.find('div.ei-title > span.custom2')
              .css( 'margin-right', -50 + 'px' )
              .stop()
              .delay( this.options.speed * this.options.titlesFactor )
              .animate({ marginRight : 0 + 'px', opacity : 1 }, this.options.titlespeed, this.options.titleeasing )
          });
      });
  });

このコードの目的のために、フィルターを適用するオブジェクトの識別子を使用する必要があります。$(this) をコールバックの参照として単純に使用することはできません。コードに基づいて、$nextSlideフィルタリング対象のオブジェクトへの参照があるように見えます。この目的のために、アニメーション$nextSlideの参照オブジェクトとして使用しました。callback functionコールバックを のonCompleteイベントとも呼びますanimate function

于 2012-07-24T14:40:43.263 に答える