0

初めての投稿なのでよろしくお願いします!みんな ;)

アニメーションに問題があります。私はこの効果に到達したいと思います:

  1. テキスト「Lorem ipsum 1」を表示し、「不透明度: 0」にアニメーション化します
  2. 実行遅延
  3. 表示されていない場合、テキストを「Lorem ipsum 2」に変更します
  4. animate を使用して「不透明度: 1」にテキストを表示する

しかし、私のコードは非常に最初にテキストを変更します。だから「Lorem ipsum 1」すら見えない。

.stop() および .queue() コードを追加しようとしましたが、正しく機能しません (または正しく使用しませんでした)。

アドバイスをいただき、コードが段階的に実行されない理由とその取得方法を説明していただければ幸いです。

$(document).ready(function(){
  $('body').append('<p>Lorem ipsum 1</p>');

  $('p')
    .animate({opacity: '0'}, 'slow')
    .delay(1000)
    .text('Lorem ipsum 2')
    .animate({opacity: '1'}, 'slow');
  });
4

2 に答える 2

0

以前にこれに干渉したことがあり、この問題に関連する投稿を見つけました: エフェクトが終了するまで jQuery を待機させるには?

アニメーション パーツの後ろにブラケットを配置するだけです。アニメーションが終了した後、内部のコードが実行されます。これをコールバック関数と呼びます。

    $('p').animate({opacity: '0'}, 'slow', function() {
       //and here you put everything that should be executed after the animation
    });

私は何も台無しにしなかったことを願っています。

于 2013-06-11T11:38:44.647 に答える