1

遅延読み込みプラグインを使用して一連の小さな画像を読み込むページがあります。要素を削除して要素を追加する一連のフィルターがあります。そのため、フィルターがクリックされるたびに、すべての img 要素で遅延読み込みを呼び出しています。これを行うと、ページの速度が低下し始め、 $("img").lazyload(); を呼び出すたびに それはもっと行き詰まります。要素が削除される前に unbind を使用しようとしたため、一度追加された新しいものにはイベントが残っていませんが、これは何もしませんでした。

なぜこれが起こるのか誰でも知っています。私のコード ソースは巨大なので、1 つの要素を取り出して投稿することはできません。そのため、誰かが以前にこの問題に遭遇し、その理由がわかっていることを願っています。

もう 1 つの問題は、$(window).trigger("scroll"); を呼び出さなければならないことです。$("img").lazyload(); を呼び出した後 画像をロードするため。これは正常ですか。

4

1 に答える 1

0

私は今日理解することができた同様の問題を抱えていました。ここで私の質問に対する私の解決策を参照してください:

jQuery LazyLoad プラグインで div スクロールが遅くなる

ただし、lazyload は、コンテナーで実行するたびにイベント リスナーをバインドして、スクロールをチェックします。残念ながら、このイベントを再バインドする前にアンバインドしないため、lazyload を何度も実行すると、大量のスクロール リスナーがコンテナーに追加されます。簡単な解決策は、遅延読み込みを再度呼び出す前に、コンテナーで .unbind('scroll') することです。上記のリンクには、違いを確認するためのいくつかのフィドルとともに、より詳細な回答があります。

于 2013-07-02T17:50:51.563 に答える