9

jQuery のlazyloadプラグインを使用しています。

1 つの問題を除いて、正常に動作しています。スクロールするまで、画像の src は元のデータと交換されません。少しでもスクロールすると、画像が読み込まれますが、ページの準備ができたらすぐに読み込む必要があります。

注: これは純粋に Chrome/Safari の問題です。Firefox や Opera、さらには IE9 でもこの問題は発生していません。

この投稿の提案に従ってみました: http://sumanrs.wordpress.com/2011/02/08/jquery-lazy-loading-images-no-scrolling/ 基本的なjQueryライブラリには次の機能があると述べていますプラグインを必要としない遅延読み込み。これは、最初のページの読み込み時にすべての画像が読み込まれたため、そうではないようです。

どんな洞察も大歓迎です!

4

9 に答える 9

16

画像に幅と高さが設定されていない可能性があります。Webkit ブラウザーでは、document.ready に幅と高さがゼロの画像が表示されます。これは、jQuery が画像を非表示と見なすことを意味します。デフォルトでは、遅延ロードは非表示の画像を無視します。3 つのオプションがあります。

  1. HTML を修正して、画像に幅と高さの属性を持たせます。
  2. に設定skip_invisiblefalseます。
  3. 少なくともバージョン 1.8.3のプラグインを使用してください。
于 2012-12-23T10:48:25.983 に答える
6
 $(window).resize();

私の場合は助かりました。

于 2013-06-18T14:15:27.590 に答える
4

私自身の問題を解決しました:画像の高さと幅を設定する必要があります!

于 2012-11-23T21:07:35.687 に答える
3

同様の問題がありました。しきい値オプションは私のためにそれを解決しました:

$("img.lazy").lazyload({
    threshold : 400
});
于 2014-05-01T08:33:17.960 に答える
0

スクロールイベントを模倣/トリガーして、ページロードへの影響をトリガーできます: http://api.jquery.com/scroll/

于 2012-11-23T20:56:26.567 に答える