1

.delay(500) show divA を設定した場合、divA が表示されると、divA が検出されたときに divB が自動的に非表示になります。私のビジュアル デザインでは、DivA と DivB は同じ場所になるためです。ページの .delay にあまり多くを使用することはできません。なぜなら、タイマーの問題が怖いからです。誰もが良好なインターネット アクセスを持っているわけではないからです。

それを行う方法はありましたか?私はアニメーション部分の専門家ではないので、gif アニメーションを使用して進めます。

私の視覚的な流れの説明:最初に大きなロール紙が表示されます(近いです)。ロール紙をクリックすると、縮小されて左側に移動し、次のフレームがロールアウトされます左から右へのロール紙フォーム。

:(((

4

1 に答える 1

1

このようなものでコールバック関数を使用して、意図した操作が最初に終了したことを検出できます...

$('#divA').delay(500).fadeIn('slow', function() {
    // divA has finished loading.. NEXT.
    $('#divB').hide();
});

そして、次のようなことを続けることができますfadeOut()...

$('#divB').fadeOut('slow', function() {
    // Oh look, divB has just faded out!
});

最後に、#divA非表示に設定して表示すると#divBフェード#divAインし、フェードインが完了すると#divBフェードアウトします。

もちろん切り替え可能

.fadeIn('slow', function() . . ..show(function() ...フェードアニメーションが必要ない場合は、代わりに。


あなたの質問によると、あなたの最終的なコード:

<div id="divA" style="display:none">
    divA
</div>
<div id="divB">
    divB
</div>

<script type="text/javascript">
    $('#divA').delay(500).fadeIn('slow', function() {
        // divA has finished loading.. NEXT.
        $('#divB').fadeOut('slow');
    });
</script>
于 2013-01-17T10:07:59.150 に答える