1

jQueryイベントのチェーンを適切に機能させようとしているので、おそらく何か間違っています。

gif 画像を div 内に表示し、数秒間そのままにしてから、フェードアウトして div 内に別のランダムな画像を表示しようとしています。

これは、Cookie が関係しているため少し複雑ですが、その機能が機能しているようです。

現時点では、gif 画像とランダム画像が同時に表示され、両方が同時にフェードアウトします。イベントを連鎖させ、それらの間で .delay を使用しているため、なぜこれが起こっているのかわかりません。

私が持っているjsは次のとおりです。

{
    $(document).ready(function() {
        var images = ['1.gif', '2.gif', '3.gif', '4.gif'];
        var COOKIE_NAME = 'lucykydip_cookie';
        jQuerygo = jQuery.cookie(COOKIE_NAME);
        $("a.start").click(function() {
            $("a.start").hide();
            if (!jQuerygo) {
                $.cookie(COOKIE_NAME, 'ld_cookie');
                $('#luckydip').css("background-image", "url(ajax-loader.gif)").delay(5000).fadeOut("slow").delay(5000).html('<img src="' + images[Math.floor(Math.random() * images.length)] + '" style="width: 82px; height:82px; display: block;" />');

            }

            else {

                $('#luckydip').append('<p>Sorry, our records show that you have already received a voucher code!</p>');
}

どんな助けにも感謝します!

ありがとう

4

1 に答える 1

6

.delay()アニメーション キューにのみ影響します。コマンドはこれらの.html()遅延を無視します。

したがって.show()、アニメーションの表示が完了した後に実行されるコールバック関数を使用できます。

http://api.jquery.com/show/

.show(期間[、コールバック])

duration アニメーションの実行時間を決定する文字列または数値。

callback アニメーションが完了したら呼び出す関数。

.delay(5000)
.show(1, function(){ $(this).html("Hello World"); })
于 2012-06-11T10:06:19.583 に答える