ホームページ ウェブフロントエンド jsチュートリアル JS に基づいて画像の遅延読み込みを実装するチュートリアルの例

JS に基づいて画像の遅延読み込みを実装するチュートリアルの例

Jun 15, 2017 pm 01:25 PM
遅延読み込み

画像の遅延読み込みも比較的一般的なパフォーマンス最適化方法です。この記事では主にネイティブ JS を使用した画像の遅延読み込みの例を紹介します。詳細なコードはここにまとめられていますので、ご参照ください。

画像の遅延読み込みも比較的一般的なパフォーマンス最適化手法であり、最近では Vue を使用してニュース リスト クライアントを作成する際にも使用されています。実装原理とコードの一部を簡単に紹介します。

実装原理

ページをロードするとき、画像は常に主なトラフィックソースであり、base64、スプライト画像など、画像のパフォーマンス方法は多数あります。遅延読み込みもその 1 つです。主な原理は、最初の画面上の画像の src をデフォルト値に変換し、ウィンドウのスクロールを監視し、画像がウィンドウに表示されるときに実際の画像アドレスを与えることです。最初の画面の読み込み速度を調整し、オンデマンドで画像を読み込みます。

特定のコード


まず、レンダリング時に画像はデフォルトの画像を参照し、実際のアドレスを data-* 属性に置きます。

<image src=&#39;./../assets/default.png&#39; :src=&#39;item.allPics&#39; class=&#39;lazyloadimg&#39;>
ログイン後にコピー

次に、スクロールを監視するには、window.onscroll を使用します。ただし、注意すべき点は、スクロールとサイズ変更は Windows と同様であり、mousemove などのイベントが頻繁にトリガーされることです。セクションを使用するのが最適です。トリガー周波数を制御するスロットルまたはデバウンス機能。アンダースコアとロダッシュのカプセル化方法は2つありますので、ここでは詳しく紹介しません。


次のステップは、主に 3 つの高さに基づいて、画像がウィンドウに表示されるかどうかを判断することです: 1. 現在の本文が上からどのくらいスクロールしたか。 2. ウィンドウの高さ。 3. 現在の画像と上部の間の距離。具体的なコードは以下の通りです:



window.onscroll =_.throttle(this.watchscroll, 200);
watchscroll () {
  var bodyScrollHeight = document.body.scrollTop;// body滚动高度
  var windowHeight = window.innerHeight;// 视窗高度
  var imgs = document.getElementsByClassName(&#39;lazyloadimg&#39;);
  for (var i =0; i < imgs.length; i++) {
  var imgHeight = imgs[i].offsetTop;// 图片距离顶部高度
  if (imgHeight < windowHeight + bodyScrollHeight) {
   imgs[i].src = imgs[i].getAttribute(&#39;src&#39;);
   img[i].className = img[i].className.replace(&#39;lazyloadimg&#39;,&#39;&#39;)
  }
  }
 }
ログイン後にコピー


結論


次回は手ぶれ補正のソースコードの実装を追加するかもしれません。最後に、2 つの一般的なスクロール判定が追加されます:

1. ページがホーム画面から離れてスクロールします (このとき、先頭に戻るボタンを表示できます): document.body.scrollTop > window.innerHeight 2. ページが一番下までスクロールしました (この時点で、より多くのコンテンツを取得するようにインターフェイスを調整できます): window.scrollY + window.body.offsetHeight >

上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。また、皆さんが Script Home をサポートしてくれることを願っています。

以上がJS に基づいて画像の遅延読み込みを実装するチュートリアルの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue3 の遅延関数の詳細説明: コンポーネントの遅延読み込みによりアプリケーションのパフォーマンスが向上します Vue3 の遅延関数の詳細説明: コンポーネントの遅延読み込みによりアプリケーションのパフォーマンスが向上します Jun 19, 2023 am 08:39 AM

Vue3 は、学習と使用が簡単で、効率的で安定した人気のある JavaScript フレームワークであり、特にシングルページ アプリケーション (SPA) の構築に優れています。 Vue3 の遅延関数は、コンポーネントの遅延読み込みのための強力なツールの 1 つであり、アプリケーションのパフォーマンスを大幅に向上させることができます。この記事では、Vue3のlazy関数の使い方や原理、実際の開発における応用シナリオやメリットについて詳しく解説します。遅延読み込みとは何ですか?従来のフロントエンドおよびバックエンド開発では、フロントエンド開発者は多くの場合、大量の処理に対処する必要があります。

Vue はコンポーネントの遅延読み込みとプリロードをどのように実装しますか? Vue はコンポーネントの遅延読み込みとプリロードをどのように実装しますか? Jun 27, 2023 pm 03:24 PM

Web アプリケーションがますます複雑になるにつれて、フロントエンド開発者は、ページの読み込み速度を確保しながら、機能とユーザー エクスペリエンスをより適切に提供する必要があります。これには、Vue コンポーネントの遅延ロードとプリロードが含まれます。これは、Vue アプリケーションのパフォーマンスを最適化するための重要な手段です。この記事では、Vue コンポーネントの遅延読み込みとプリロードの実装方法を詳しく紹介します。 1. 遅延ロードとは何ですか? 遅延ロードとは、最初にすべてのコンポーネントのコードをロードするのではなく、ユーザーがアクセスする必要があるときにのみコンポーネントのコードがロードされることを意味します。

Vue の画像の遅延読み込みエラーの問題の解決策 Vue の画像の遅延読み込みエラーの問題の解決策 Jun 29, 2023 pm 10:42 PM

Vue 開発で画像の遅延読み込みが失敗する問題を解決する方法 遅延読み込み (LazyLoad) は、現代の Web 開発で一般的に使用される最適化技術の 1 つで、特に大量の画像やリソースを読み込む場合に効果的に負荷を軽減できます。ページを改善し、ユーザー エクスペリエンスを向上させます。ただし、Vue フレームワークを使用して開発する場合、画像の遅延読み込みが失敗するという問題が発生することがあります。この記事では、開発者がこの問題にうまく対処できるように、いくつかの一般的な問題と解決策を紹介します。画像リソース パス エラー まず、画像リソースが

PHP配列ページングで遅延読み込みを実装するにはどうすればよいですか? PHP配列ページングで遅延読み込みを実装するにはどうすればよいですか? May 03, 2024 am 08:51 AM

PHP 配列をページングするときに遅延読み込みを実装する方法は、反復子を使用してデータ セットの 1 つの要素だけを読み込むことです。配列とページ サイズを指定して ArrayPaginator オブジェクトを作成します。 foreach ループでオブジェクトを反復処理し、毎回データの次のページをロードして処理します。利点: ページング パフォーマンスの向上、メモリ消費量の削減、オンデマンド読み込みのサポート。

遅延読み込みの方法にはどのようなものがありますか? 遅延読み込みの方法にはどのようなものがありますか? Nov 13, 2023 pm 03:14 PM

遅延読み込みの方法には、画像の遅延読み込み、ビデオの遅延読み込み、スクリプト ファイルの遅延読み込み、データの遅延読み込みなどが含まれます。詳細な紹介: 1. 画像の遅延読み込みは一般的な遅延読み込みの実装方法です. ページが読み込まれるとき, 表示されている領域の画像のみが読み込まれ, 他の領域の画像はプレースホルダーの形式で表示されます. ユーザーがスクロールするとき画像の位置を指定すると、実際の画像が読み込まれます。画像の遅延読み込みは、既存の JavaScript ライブラリまたはカスタム コードを使用して実現できます。2. ビデオの遅延読み込みは、画像の遅延読み込みと同様の方法で実装されます。ページの読み込み中など。

遅延読み込みとはどういう意味ですか? 遅延読み込みとはどういう意味ですか? Nov 20, 2023 pm 02:12 PM

遅延ロードは、オブジェクトの初期化またはロード時にすぐにデータを取得するのではなく、必要な場合にのみデータをロードすることを指すプログラミング パターンです。遅延ロードの目的は、データのロードを遅らせてシステム リソースを節約し、パフォーマンスを向上させることです。

C# Lazy を使用して遅延読み込みを実装する方法 C# Lazy を使用して遅延読み込みを実装する方法 Feb 19, 2024 am 09:42 AM

Lazy を使用して C# で遅延読み込みを実装する方法には、特定のコード サンプルが必要です。ソフトウェア開発では、遅延読み込み (Lazyloading) は遅延読み込みテクノロジであり、プログラムのパフォーマンスとリソース使用効率の向上に役立ちます。 C# では、Lazy クラスを使用して遅延読み込みを実装できます。この記事では、Lazy クラスの基本概念とそれを使用して遅延読み込みを実装する方法を紹介し、具体的なコード例を示します。まず、Lazy について理解する必要があります

Vue テクノロジー開発における画像リソースの遅延ロードとプリロードを処理する方法 Vue テクノロジー開発における画像リソースの遅延ロードとプリロードを処理する方法 Oct 09, 2023 am 09:45 AM

Vue テクノロジ開発における画像リソースの遅延読み込みとプリロードを処理する方法 Web ページのコンテンツが充実するにつれて、画像は Web ページに不可欠な部分になりました。ただし、大量の画像リソースを読み込むと、Web ページの読み込みが遅くなり、ユーザー エクスペリエンスに影響を与える可能性があります。この問題を解決するには、画像リソースの遅延読み込みおよび事前読み込みテクノロジーを使用して、ユーザー エクスペリエンスを最適化できます。 1. 遅延読み込み技術 遅延読み込みとは、Web ページ内の画像が最初に読み込まれるときに、表示されている領域の画像のみが読み込まれ、ユーザーがページをスクロールして画像が配置されている領域に到達したときに、画像が読み込まれることを意味します。また。

See all articles