angular.js - angularjs如何实现图片延迟加载?
某草草
某草草 2017-05-15 16:51:49
0
5
858

写一个移动端显示图片列表的web,以往都是使用jQuery的延迟加载插件来实现这一功能的,但是现在要求不能使用jQuery以及其他插件,仅使用angularjs实现这个功能。图片的路径是存储在一个json中,通过读取json的数据ng-repeat出来的。
请问有什么好的解决方法?

某草草
某草草

全員に返信(5)
仅有的幸福

https://github.com/Treri/me-lazyload
https://github.com/Treri/me-lazyimg

2 つの関数は似ています。前者はスクロール用にドキュメント内に配置され、後者は要素内でスクロールするように設定できます。

いいねを押す +0
我想大声告诉你

感想:
1. 画像のソースの実際のアドレスを使用しないで、属性を使用して要素に保存します
。 2. ロードする必要があるすべての画像を配列に入れます
3. 初期化中に、配列内の要素が表示範囲内にあるかどうかを確認し、表示範囲内にある場合はロードされます
。 4. スクロールイベントをウィンドウにバインドして、画像が表示範囲内にあるかどうかを確認します
5. 読み込んだ写真はキューから削除されます

元のリンク: https://www.npmjs.com/package/angular-imglazyload

いいねを押す +0
阿神

jquery のアプローチは、window.scroll を監視し、画像の位置と src 属性を切り替える必要があるかどうかを判断することです。これは angular にも当てはまりますが、angular は命令に DOM 操作を記述する必要があるため、自分で命令を実装するには、一般的な考え方は次のとおりです ;

リーリー リーリー

リスナーを 1 つだけ使用して jquery のような効率を実現したい場合は、この LazyLoad のロジックで IMG をクエリする方法を考慮する必要があります
シンプルにして手間を省きたい場合は、img 属性レベルでコマンドを直接記述するだけですが、これにより、画像と同じ数のイベント コールバックが登録されます

いいねを押す +0
Peter_Zhu

http://afklm.github.io/ng-lazy-image/ このモジュールは多くの人が作成したもので、見た目も良く、非常に使いやすいです

いいねを押す +0
淡淡烟草味

読み込みを遅らせるには $timeout を使用する必要があります

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート