3

jquery の $.ajax を使用して、画像のページを div にロードするサイトに取り組んでいます。ユーザーがページの一番下までスクロールすると、画像の別のページが div に読み込まれます。現在、新しいコンテンツがフェードインしていますが、画像が完全に読み込まれる前にフェードインしています。解決策を確認しましたが、自分に合った解決策が見つかりませんでした。明確にするために、画像の各セットは、個々の画像の div で満たされた div です。

私が使用しているロード関数は次のとおりです。

function loadContent(pageName, pageView, max_feed){
        loader="<div id=loader><img src=SPACER" height=\"100\" \>"
            + "<br/><img src=\"LOADER" />"
            + "<br/><img src=\"SPACER" height=\"100\" \></div>";
        $(loader).appendTo('#photo_container').fadeIn('fast');
        $.ajax({
            url:pageName,
            data:{view:pageView, max_feed_id:max_feed},
            success:function(result){
                $('#loader').remove();                  
                $(result)
                    .appendTo('#photo_container')
                    .hide()
                    .fadeIn('slow');
                $(window).data('loading', false);
            }
        });
    };

fadeIn() が呼び出される前に、新しいコンテンツがロードされるのを待つ簡単な方法はありますか? つまり、似たようなものはありますか

$(window).load(...)

divコンテンツだけに使用できますか? isLoadingMore のようなある種のグローバル変数を設定し、それを ajax で読み込まれたコンテンツの先頭で false に設定してから、

$(window).load(...)

変数をtrueに設定する関数を含むajaxページへの関数を追加し、loadContent関数でfadeIn関数を呼び出す前に、そのフラグがtrueに設定されるのを待機するwhileループまたは何かを追加します。それが良いアイデアなのか、それとも機能するのかはわかりません

4

2 に答える 2

4

画像で次のことを行うことができます

$('img').load(function(e){
$(this).fadeIn();
});
于 2012-08-16T15:27:36.850 に答える
0

私のプラグインの良い候補のように思えます: waitForImages

于 2012-08-28T04:55:17.890 に答える