0

div#1 をフェードイン/アウトさせ、次に div#2 をフェードイン/アウトさせる単純なループを作成しました。私が書いたコードは次のようになります。

function runToggle(iDuration, domFirst,domSecond) {
        $(domFirst).fadeToggle(iDuration, "linear",function() {
          $(domFirst).fadeToggle(iDuration, "linear",function() {
            $(domSecond).fadeToggle(iDuration,"linear",function() {
              $(domSecond).fadeToggle(iDuration,"linear",function() {
                  setTimeout(function() {
                      runToggle(iDuration, domFirst,domSecond) ;
                  },50);
              });
            }); 
          });
       }); 
};

runToggle(2000, $('#box1'),$('#box2'));

しかし、私は各フェードインとフェードアウトの間に遅延を作ることができないようです... (論理的に私が望むのはこれです: div1 フェードイン、遅延、div1 フェードアウト、div2 フェードイン、遅延、div2 フェードアウト、そして最初からやり直す.

4

1 に答える 1

2

JQueryには組み込み.delay()関数があります。(ドキュメントを参照)

これらの行をすべて変更します。

$(domFirst).fadeToggle(iDuration, "linear",function() {

に:

$(domFirst).delay(200).fadeToggle(iDuration, "linear",function() {

于 2013-01-31T08:49:44.620 に答える