0

私はここである種の鶏卵の状況に陥りました。読み込む画像がたくさんあるページがあり、FacebookやGoogle画像のように、スクロールスクリプトの読み込みをプログラムしたので、ユーザーがページの下部に到達すると、次の画像セットが読み込まれます。

サーバー側の画像の読み込みはやや重く、おそらくWebサイトの速度が低下するため、すべての画像を読み込んでキャッシュファイルに保存し、ページに読み込んでからjavascriptを使用して、最初のいくつかだけを残してすべての画像を削除します。その後、残りの部分を徐々にロードします。

今私が遭遇した最初の問題は、JavaScriptを使用して画像が削除された場合でも、ブラウザが画像をロードし続けることです。これを回避するために、ロードしたくない画像にcssクラスを追加し、それらをdisplay noneとして設定し、javascriptを使用して削除しました。

しかし、私はまだページを非JavaScriptユーザーやクロースラーにして、ページ全体を表示できるようにしたくありません。そして、javascriptなしでこの「displaynone」を削除する方法を理解することはできません。

前もって感謝します。

4

1 に答える 1

0

単純にajaxを使用して次のバッチをロードしてみませんか?そうすれば、セグメントにロードされ、ロードが分散され、難しいマークアップを行う必要がなくなります...

この種の場合に使用するものの私自身のjqueryの例。私のmysqlで翻訳される「ページ番号」に基づいて何をレンダリングする必要があるかを決定するphpファイルがありますselect ..... limit $pagenumber,15

           <script type="text/javascript">
    alreadyloading = false;
    nextpage = 1;

    $(window).scroll(function() 
        {
        if ($('body').height() <= ($(window).height() + $(window).scrollTop())) 
            {
            if (alreadyloading == false) 
                {
                var url = document.location.href + "/ajaxload/" + (nextpage * 15);
                alreadyloading = true;
                $.ajax(url).done(function(data) 
                    {
                    obj = document.getElementById('images');
                    obj.innerHTML += data;
                    alreadyloading = false;
                    nextpage++;
                    });
                }
            }
        });
    </script>
于 2013-01-07T15:40:49.093 に答える