ホームページ ウェブフロントエンド jsチュートリアル Web フロントエンドの最適化スクロール遅延読み込み画像 example_jquery

Web フロントエンドの最適化スクロール遅延読み込み画像 example_jquery

May 16, 2016 pm 05:29 PM

読み込みが遅いのはなぜですか?ページが読み込まれるときにすべての画像を表示するほうがよいでしょうか?これは必要ですか?答えは「はい」です。読み込む画像やコンテンツが多い場合、一度に読み込むとページ全体の読み込みに時間がかかり、ユーザーの待ち時間が長くなり、使い勝手が良くありません。また、なぜ単にページングを作成しないのかと疑問に思うかもしれません。実際、このスクロール遅延読み込み技術は、まさに次のページを手動でクリックする代わりに使用されるページング技術です。ページを変更するたびにユーザーは 1 回クリックする必要があり、これもユーザーにとって不親切です。そのため、ローリング遅延読み込みが発生します。

ここでは、Baidu Pictures と同様に、画像を読み込む例を示します。下にスクロールすると、次のページに画像が表示され続けます。

要件は次のとおりです。たとえば、ページがロードされた後、最初に 5 枚の画像をロードします (5 枚の画像がブラウザ ウィンドウの高さいっぱいに収まる場合)。バーがブラウザの一番下までスクロールし、さらに 5 枚の画像をロードし、合計 4 回ロードします。

原理は、まず現在のブラウザのウィンドウの高さ a を取得し、スクロール バーがスクロールするときに、それより小さい場合、まず 20 枚の画像が読み込まれたと判断します。画像が 20 枚未満の場合、現在のドキュメントの上からの高さ b と画像コンテンツの高さ c を取得します。a b>=c の場合は、5 枚の画像の読み込みを続けます。

困っている人々にいくつかの強力な機能を示すために、できる限り少ないコードとできるだけシンプルなデモを使用するのが好きだと言いました。なぜなら、すべての原則は実際には非常にシンプルであり、デモがシンプルであればあるほど、それが簡単になるからです。人々はそれを理解し、受け入れます。コードは非常に少ないので、 コードを直接入力します。

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




<メタhttp-equiv="Content-Type" content="text/html; charset=utf-8" />
页面滚動延迟加下图片


< ;script type="text/javascript">
var n = 0;
var winHeight = $(window).height();
$(function () {
loadimg();
$(window).scroll(function () {
if (n var docTop = $(document).scrollTop();
var contentHeight = $("# content").height();
if (docTop winHeight >= contentHeight - 10) {
loadimg();
}
}
});
});
functionloadimg() {
for (i = 0;私は< 5; i ) {
$("#content").append("
  • ");
    }
    n = 5;
    }







    ここでは、コードを簡略化するために jqury フレームワークが使用されています。この関数を実装するには、純粋な js コードを手動で記述できれば最適です。この小さな関数には、任意の js フレームワークの使用。しかし、結局のところ、私は個人的には jquery フレームワークを好みます。大規模なプロジェクトでは、純粋な js コードを手書きすると、プロジェクト全体の進行が大幅に遅くなります。それでも、適切に使用すれば開発効率が向上します。大規模なプロジェクトの場合 プロジェクトでは、jquery はこの小さな機能を実現するだけでなく、Ajax と同様にそれを簡単に実現するのにも役立ちます。さらに、ここではこの画像の読み込みをコーディングしただけです。実際には、Ajax を使用して新しい画像をリクエストし、それをページに読み込む必要があるため、バックグラウンド ロジックは必要ありません。なので、この画像だけを読み込みます。

    次のコードに気づくかもしれません: docTop winHeight >= contentHeight - 10、なぜここで -10 が必要なのでしょうか? -10 でない場合、IE と Firefox ではテストは合格しますが、Chrome では機能しません。これは、Chrome では docTop winHeight が常に contentHeight より 1 小さいのに対し、最初の 2 つのブラウザでは docTop winHeight が contentHeight より小さいためです。 contentHeight が 1 大きくなります。これはブラウザの問題です。最も簡単な方法は、下から 10 ピクセルまでスクロールしないことです。

    ソース エンジニアリング コードが必要ですか?

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

    フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? Apr 04, 2025 pm 02:42 PM

    フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

    誰がより多くのPythonまたはJavaScriptを支払われますか? 誰がより多くのPythonまたはJavaScriptを支払われますか? Apr 04, 2025 am 12:09 AM

    スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

    javascriptの分解:それが何をするのか、なぜそれが重要なのか javascriptの分解:それが何をするのか、なぜそれが重要なのか Apr 09, 2025 am 12:07 AM

    JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

    JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? Apr 04, 2025 pm 05:09 PM

    同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

    Shiseidoの公式Webサイトのように、視差スクロールと要素のアニメーション効果を実現する方法は?
または:
Shiseidoの公式Webサイトのようにスクロールするページを伴うアニメーション効果をどのように実現できますか? Shiseidoの公式Webサイトのように、視差スクロールと要素のアニメーション効果を実現する方法は? または: Shiseidoの公式Webサイトのようにスクロールするページを伴うアニメーション効果をどのように実現できますか? Apr 04, 2025 pm 05:36 PM

    この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

    Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Apr 04, 2025 pm 05:12 PM

    Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

    JavaScriptは学ぶのが難しいですか? JavaScriptは学ぶのが難しいですか? Apr 03, 2025 am 12:20 AM

    JavaScriptを学ぶことは難しくありませんが、挑戦的です。 1)変数、データ型、関数などの基本概念を理解します。2)非同期プログラミングをマスターし、イベントループを通じて実装します。 3)DOM操作を使用し、非同期リクエストを処理することを約束します。 4)一般的な間違いを避け、デバッグテクニックを使用します。 5)パフォーマンスを最適化し、ベストプラクティスに従ってください。

    PowerPointはJavaScriptを実行できますか? PowerPointはJavaScriptを実行できますか? Apr 01, 2025 pm 05:17 PM

    JavaScriptはPowerPointで実行でき、外部JavaScriptファイルを呼び出したり、VBAを介してHTMLファイルを埋め込んだりすることで実装できます。 1. VBAを使用してJavaScriptファイルを呼び出すには、マクロを有効にし、VBAプログラミングの知識を持つ必要があります。 2。JavaScriptを含むHTMLファイルを埋め込みます。これは、シンプルで使いやすいが、セキュリティ制限の対象となります。利点には、拡張機能と柔軟性が含まれますが、欠点にはセキュリティ、互換性、複雑さが含まれます。実際には、セキュリティ、互換性、パフォーマンス、ユーザーエクスペリエンスに注意を払う必要があります。

    See all articles