2

私はググって、最初に素晴らしいフェードアウトを行うことができるように、appendToが即座に発生するのを遅らせるために私の人生を試みてきました。ここで、 myObject はリンクです:

<a href="#">My Link</a>

そして、それを順序付けられていないリストに移動したいと思います:

<div id="newDiv">
<ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
</ul>
</div>

このようなことをすることによって:

myObject.fadeOut(300).appendTo('#newDiv ul').fadeIn(300);
myObject.wrap('<li></li>');

ただし、appendTo はアニメーション オブジェクトではないことはわかっているので、すぐに発生します。だから私は、追加をフェードアウトへのコールバックとして入れてみました:

myObject.fadeOut(300, myObject.appendTo('#newDiv')).fadeIn(300);
myObject.wrap('<li></li>');

すぐに発生するだけでなく、ラップが機能しなくなりました。また、 setTimeout を使用して追加を遅らせてみましたが、役に立ちませんでした。

4

1 に答える 1

6

これを試して:

myObject.fadeOut(300, function() { $(this).appendTo('#newDiv ul').fadeIn(300) });

フェードからのコールバックで「appendTo」を行うことで、フェードが完了するまで待つことができます。(私の知る限り) すべての jQuery アニメーション効果は、そのようなコールバックを受け取ります。

于 2011-06-01T00:08:53.017 に答える