ホームページ ウェブフロントエンド jsチュートリアル jqueryプラグインlazyload.jsを使用してimages_jqueryの読み込みを遅らせる方法

jqueryプラグインlazyload.jsを使用してimages_jqueryの読み込みを遅らせる方法

May 16, 2016 pm 04:59 PM
jQueryプラグイン 遅延読み込み

Web ページが非常に長く、多くの写真がある場合、写真のダウンロードに時間がかかり、Web ページ全体の読み込み速度に影響します。この遅延読み込みプラグインは、表示する必要があるものを読み込みます。スクロールすると、背景から画像をダウンロードするよう要求され、最終的に表示されます。このプラグインを使用すると、表示する必要がある場合にのみ画像をダウンロードできるため、サーバーの負荷が軽減され、ページの読み込み速度が向上します。

Lazy Load プラグインの原理

対象の img 要素の src 属性を元の属性に変更して、画像の読み込みを中断します。スクロール状態を検出し、Web ページの表示領域にある img の src 属性を復元してから画像をロードすることで、バッファリングされたロード効果が作成されます。コード導入方法:

コードをコピー コードは次のとおりです:



しかし現在、多くの Javascript 専門家は、このプラグインが実際には読み込み速度を遅くする役割を果たしていないと分析しています。これは実際に事実であり、公式の指示と解決策が提供されています。

実際、その理由は、ブラウザの新しいバージョンでは、JavaScript によって制御される src 属性を削除しても、ブラウザは引き続き画像をロードするためです。

では、どうやって解決すればいいのでしょうか?実際、これは非常に簡単です。HTML の構造を直接変更し、img タグに新しい属性を追加し、src 属性の値をプレースホルダー画像にポイントし、ポイントする data-original 属性を追加するだけです。実際のイメージアドレス。例:

コードをコピー コードは次のとおりです:


もちろん、上記のコードでは、ページ内のすべての画像を遅延ロードしますが、画像によっては遅延ロードを望まないため、これを望まない場合もあります。そのため、次のようにするだけです:

たとえば、ロードクラス main の下で画像のみをバッファリングします

コードをコピー コードは次のとおりです:

$(".main img")。 Lazyload({
プレースホルダー : "images/grey.gif",
効果 : "fadeIn"
});

遅延クラスでマウントされたイメージをロードします:

コードをコピー コードは次のとおりです:

$("img.lazy")。 Lazyload({
プレースホルダー : "images/grey.gif",
効果 : "fadeIn"
});

残りも同様に推測できます。セレクターを適切に調整するだけです。

lazyload.js の高度な使用法:

以下の部分は公式文書から引用したもので、公式文書の簡易翻訳です。

より思慮深いアプローチ

私たちはこの問題について考えなければなりません。このような構造を定義したので、ソース画像は Web ページにロードされません。このソース画像はJavaScript実行時のみ表示されます。ユーザーのブラウザがそれをサポートしていない場合、またはユーザーが Javascript をサポートするオプションをオフにしている場合、画像は表示されません。つまり、JavaScript がサポートされていないと、画像を表示できません。

この問題に対処するには、noscript タグを導入する必要があります。一般的な考え方は次のとおりです。noscript を使用して実際の画像の場所を含め、ブラウザが Javascript をサポートしていない場合は、画像を直接表示します。

コードをコピー コードは次のとおりです:


< ;noscript>

既存の画像の場合は、処理を非表示にし、show() メソッドを使用して表示をトリガーします。

コードをコピーします コードは次のとおりです:

.lazy {
表示: なし;
}

このように、ブラウザが Javascript をサポートしていない場合、カスタマイズされた画像は表示されませんが、noscript の画像は表示されます。具体的な実装コードは次のとおりです:

コードをコピー コードは次のとおりです:

$("img.lazy")。 show() .lazyload();

先にロードしてください

デフォルトの状況では、画像の位置までスクロールすると、プラグインの読み込みが開始されます。このようにして、ユーザーは最初に空白の画像を見て、その後ゆっくりと表示することができます。ユーザーがスクロールする前にこの画像を事前にロードしたい場合は、パラメータを設定できます。

コードをコピー コードは次のとおりです:

$("img.lazy")。 Lazyload({
しきい値 : 200
});

threshold このパラメータは事前​​にロードするために使用されます。上記のステートメントの意味は、画像からまだ 200 ピクセル離れているときに、画像の読み込みを開始するということです。

カスタマイズされたトリガーイベント

デフォルトのトリガーイベントはスクロールです。スクロールするとチェックされてロードされます。イベント属性を使用して独自の読み込みイベントを設定し、このイベントをトリガーする条件をカスタマイズして画像を読み込むことができます。

コードをコピー コードは次のとおりです:

$("img.lazy")。 Lazyload({
イベント: "クリック"
});

カスタマイズされた表示効果

デフォルトの画像実装効果は、ダウンロード完了後、直接表示されます。この種のユーザー エクスペリエンスは良くありません。エフェクト属性を設定して、画像の表示効果を制御できます。たとえば

コードをコピー コードは次のとおりです:

$("img.lazy")。 Lazyload({
効果: "フェードイン"
});

フェードインの効果は、画像の透明度を変更し、色あせて表示することです。

画像をコンテナに挿入します

スマートフォンを使用している場合、アプリケーションをダウンロードするためにアプリケーション Web サイトにアクセスすることがよくあります。通常、携帯電話のスクリーンショットを保存するために水平コンテナが使用されます。コンテナ属性を使用すると、バッファロードをコンテナに簡単に実装できます。まず、このコンテナを CSS で定義し、それからこのプラグインでロードする必要があります。

コードをコピーします コードは次のとおりです。

#container { height: 600px;スクロール; }
$("img.lazy").lazyload({
コンテナ: $("#container")
});

非表示の画像をロード

一部の画像は表示されないため、display:none; などの属性を持つ画像を追加します。デフォルトでは、このプラグインは非表示の非表示画像をロードしません。非表示の画像をロードするためにこれを使用する必要がある場合は、skip_invisible を false に設定する必要があります。コードは次のとおりです:

$("img.lazy").lazyload({ Skip_invisible : false});
これは、lazyload.js プラグインの簡単な紹介です。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Spring Data JPA のアーキテクチャと動作原理は何ですか? Spring Data JPA のアーキテクチャと動作原理は何ですか? Apr 17, 2024 pm 02:48 PM

SpringDataJPA は JPA アーキテクチャに基づいており、マッピング、ORM、トランザクション管理を通じてデータベースと対話します。そのリポジトリは CRUD 操作を提供し、派生クエリによりデータベース アクセスが簡素化されます。さらに、遅延読み込みを使用して必要な場合にのみデータを取得するため、パフォーマンスが向上します。

Linuxにおけるダイナミックリンクとスタティックリンクの本来の意味は何でしょうか? Linuxにおけるダイナミックリンクとスタティックリンクの本来の意味は何でしょうか? Feb 05, 2024 pm 05:45 PM

いつものように、いくつか質問してみましょう。なぜダイナミック リンクなのでしょうか?動的リンクを行うにはどうすればよいですか?アドレス非依存コード技術とは何ですか?遅延結合技術とは何ですか?プログラムの実行中に明示的なリンクを行うにはどうすればよいですか?なぜダイナミックリンクなのか?動的リンクの登場は、静的リンクのいくつかの欠点を解決するためのものです: メモリとディスク領域の節約: 以下の図に示すように、Program1 と Program2 にはそれぞれ Program1.o と Program2.o という 2 つのモジュールが含まれており、どちらも Lib を必要とします。 ○モジュール。静的リンクの場合、両方のターゲット ファイルは Lib.o モジュールを使用するため、リンクによって出力された実行可能ファイル Program1 と Program2 にコピーがあり、同時に実行されます。

Laravelのパフォーマンスボトルネックを解読:最適化テクニックを完全公開! Laravelのパフォーマンスボトルネックを解読:最適化テクニックを完全公開! Mar 06, 2024 pm 02:33 PM

Laravelのパフォーマンスボトルネックを解読:最適化テクニックを完全公開! Laravel は人気のある PHP フレームワークとして、開発者に豊富な機能と便利な開発エクスペリエンスを提供します。ただし、プロジェクトのサイズが大きくなり、訪問数が増加すると、パフォーマンスのボトルネックという課題に直面する可能性があります。この記事では、開発者が潜在的なパフォーマンスの問題を発見して解決できるように、Laravel のパフォーマンス最適化テクニックについて詳しく説明します。 1. Eloquent の遅延読み込みを使用したデータベース クエリの最適化 Eloquent を使用してデータベースにクエリを実行する場合は、次のことを避けてください。

Java JPA パフォーマンス最適化のヒント: アプリケーションを高速化する Java JPA パフォーマンス最適化のヒント: アプリケーションを高速化する Feb 19, 2024 pm 09:03 PM

記事のキーワード: JavaJPA パフォーマンスの最適化 ORM エンティティ管理 JavaJPA (JavaPersistance API) は、Java オブジェクトを使用してデータベース内のデータを操作できるようにするオブジェクト リレーショナル マッピング (ORM) フレームワークです。 JPA は、データベースと対話するための統合 API を提供し、同じコードを使用して異なるデータベースにアクセスできるようにします。さらに、JPA は、アプリケーションのパフォーマンスを向上させることができる遅延ロード、キャッシュ、ダーティ データ検出などの機能もサポートしています。ただし、使用方法を誤ると、JPA のパフォーマンスがアプリケーションのボトルネックになる可能性があります。一般的なパフォーマンスの問題は次のとおりです。 N+1 クエリの問題: アプリケーションで JPQL クエリを使用すると、N+1 クエリの問題が発生する可能性があります。このような中で

Hibernate はデータベース クエリのパフォーマンスをどのように最適化しますか? Hibernate はデータベース クエリのパフォーマンスをどのように最適化しますか? Apr 17, 2024 pm 03:00 PM

Hibernate クエリのパフォーマンスを最適化するためのヒントには、遅延読み込みを使用してコレクションと関連オブジェクトの読み込みを延期すること、バッチ処理を使用して更新、削除、または挿入操作を組み合わせて、HQL 外部接続を使用して頻繁にクエリされるオブジェクトをメモリに保存することなどがあります。エンティティとその関連エンティティを取得し、SELECTN+1 クエリ モードを回避するためにクエリ パラメータを最適化し、ブロック内の大量のデータを取得するためにインデックスを使用します。

iframe読み込みイベントを防ぐ方法 iframe読み込みイベントを防ぐ方法 Feb 19, 2024 am 08:02 AM

iframe 読み込みイベントを防ぐ方法 Web 開発では、他の Web ページやコンテンツを埋め込むために iframe タグをよく使用します。デフォルトでは、ブラウザが iframe をロードすると、loading イベントがトリガーされます。ただし、場合によっては、iframe の読み込みを遅らせたり、読み込みイベントを完全に阻止したりしたい場合があります。この記事では、コード例を通じてこれを実現する方法を説明します。 1. iframe の読み込みを遅らせる iframe の読み込みを遅らせたい場合は、次を使用できます。

Java JPA オープンソース プロジェクトの推奨事項: プロジェクトに新たな活力を注入する Java JPA オープンソース プロジェクトの推奨事項: プロジェクトに新たな活力を注入する Feb 20, 2024 am 09:09 AM

Java プログラミングの分野では、JPA (JavaPersistence API) は一般的な永続性フレームワークとして、開発者にリレーショナル データベースを操作する便利な方法を提供します。 JPA を使用すると、開発者は Java オブジェクトをデータベースに永続化し、データベースからデータを取得することが簡単にできるため、アプリケーションの開発効率と保守性が大幅に向上します。この記事では、さまざまな機能とアプリケーション シナリオをカバーする 10 個の高品質な JavaJPA オープン ソース プロジェクトを厳選し、より効率的で信頼性の高いアプリケーションを作成するためのより多くのインスピレーションとソリューションを開発者に提供することを目的としています。これらのプロジェクトには次のものが含まれます。 SpringDataJPA: springDataJPA は Spr です。

HTML画像が大きすぎる場合の対処法 HTML画像が大きすぎる場合の対処法 Apr 05, 2024 pm 12:24 PM

大きすぎる HTML 画像を最適化する方法をいくつか紹介します。 画像ファイル サイズを最適化する: 圧縮ツールまたは画像編集ソフトウェアを使用します。メディア クエリを使用する: デバイスに基づいて画像のサイズを動的に変更します。遅延読み込みを実装します。画像が表示領域に入ったときにのみ画像を読み込みます。 CDN を使用する: イメージを複数のサーバーに配布します。画像プレースホルダーを使用する: 画像の読み込み中にプレースホルダー画像を表示します。サムネイルを使用する: 画像の小さいバージョンを表示し、クリックするとフルサイズの画像を読み込みます。

See all articles