2016-06-23 16 views
0

lazyload.jsライブラリを使用して、無限にスクロールするビューに動的にロードされるイメージを遅延読み込みします。次のページのスクロールとロードを開始すると、lazyloadingは正常に機能します。lazyload.js初期ロード時に画像を表示するアクションが必要

最初の読み込み時に、ウィンドウ内で何らかのアクションが発生するまで、画像がわずかにスクロールされたり、コンテナ内のクリック可能な要素をクリックしたりするなどして、イメージが遅延ロードされません。$('.lazy').lazyload()を呼び出すと、それはうまく動作しますが、私はそれをしたくありません(それは非常にハッキーです)。

JavaScriptのコンソールから$(window).resize()を実行すると、最初の読み込み後にイメージがロードされますが、最初の読み込み後にコード内でイメージを読み込んでも動作しません。

最初の読み込み時にイメージを強制的にlazyloadする方法はありますか?

イメージは、最初のページが読み込まれた後、AJAX呼び出しによってページに配置されることに注意してください。

答えて

1

私は個人的にlazyload.jsのファンではありません(パフォーマンスはひどいです)。実際にはそのままで動作するはずです。ドキュメントの準備ができたら、読み込みを開始する必要があります。

resizeのいずれも機能していないとすれば、これらのイベントが実際に発生することを確認できますか?おそらく何かがあなたのHTML(doctype、または神が知っているもの)から離れているでしょう。

+0

lazyload.jsではなく、お勧めしたいことはありますか? – tommybond

+0

私は偏っている、私は事を書いているので、jQuery.isInViewで遅延ロードを実装します。もう一つの候補はjquery.visibleで、スピードの点では2番目に優れている(咳)。私は、http://output.jsbin.com/lisudi/3ここでコンポーネントの束をテストしました。たぶんあなたのページの遅延読み込みアイテムの数に応じて、あなたのために働くものを選ぶのに役立ちます。スムーズなスクロールを実現するには、サポートする予定の最も遅いプラットフォームで16ミリ秒以下で作業を完了する必要があります。 – hashchange

+0

だから私はちょうどisInViewを実装し、同じ問題がまだ!私は、何かを表示するために、スクロールスクロールをしなければなりません。私はそれが私が間違っている何かだと思っています。理解できません。 – tommybond

関連する問題