国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ ウェブフロントエンド jsチュートリアル jqueryに無(wú)限の巻物を?qū)g裝します

jqueryに無(wú)限の巻物を?qū)g裝します

Feb 22, 2025 am 10:04 AM

Implementing Infinite Scroll in jQuery

キーポイントの概要

概要

  • 無(wú)限のスクロール(Lazy LoadingまたはNo Pagingとも呼ばれます)は、ページ上の既存のコンテンツのスクロールを完了すると、AJAXを介して新しいコンテンツをロードするページングの代替品です。
  • 無(wú)限のスクロールには多くの利點(diǎn)がありますが、ストリーム內(nèi)の場(chǎng)所を保存できず、検索エンジンフレンドリーではないなど、いくつかの欠點(diǎn)もあります。検索エンジンの問(wèn)題を回避するには、ページングまたはサイトマップを備えた代替品を提供する必要があります。
  • Infiniteスクロールの実裝には、基本的なHTMLおよびCSSレイアウトの作成、リクエストの処理用AJAXモードの設(shè)定、ページへの新しいデータの追加、および処理データの終了が含まれます。
  • ボタンを削除し、ユーザーがページの最後までスクロールし、JSONを介して生データを送信し、jQuery自體を使用してタグを作成し、メッセージを含めると関數(shù)を呼び出すことで、無(wú)限のスクロールの実裝をさらに改善できます。 JSONの応答は、リクエストが正しく完了したかどうか、およびロードする投稿が増えるかどうかを説明します。

Web開(kāi)発者は、表示されるコンテンツが多數(shù)ある場(chǎng)合、長(zhǎng)い間従來(lái)のページングに頼りました。はい、ページネーションは依然としてコンテンツを表示するための非常に効果的な方法ですが、この記事では、代替の無(wú)限のスクロールについて説明します。この手法は、怠zyなロードまたはページネーションとも呼ばれ、ユーザーがページ上の既存のコンテンツのスクロールを完了すると、AJAXを介して新しいコンテンツをロードします。 FacebookやPinterestを含む一部のインターネット大手は、無(wú)制限のスクロールを使用しています。この記事では、無(wú)限のスクロール用の獨(dú)自のjQueryプラグインの構(gòu)築について説明します。

トレーダーとダウン 利點(diǎn)は明らかです。より多くのコンテンツを取得するには、新しいページにリダイレクトする必要はありません(これは、ページが読み込まれたときにさまざまな領(lǐng)域に注意をシフトする傾向があります)。 Infiniteスクロールを?qū)g裝することにより、基本的にユーザーのページへの焦點(diǎn)を制御できます!無(wú)限のスクロールは、すべての場(chǎng)合に効果的ではありません。たとえば、ユーザーがリンクをクリックしてブラウザのバックボタンを使用すると、ユーザーはAjaxを介してロードされたデータストリームの場(chǎng)所を失います。この機(jī)能を?qū)g裝するときに注意すべきことの1つは、新しいタブまたはウィンドウに新しいコンテンツをロードすることです。無(wú)限のスクロールの関連する欠點(diǎn)は、ストリーム內(nèi)の場(chǎng)所を保存できないことです。無(wú)制限のスクロールページでコンテンツを電子メールで友達(dá)と共有したいとします。これは、URLが最初の場(chǎng)所に戻ってくるため、これを行うことはできません。したがって、使用を続ける前に、ウェブサイトの可用性を検討してください。また、無(wú)限のスクロールを?qū)g裝する前に、それはあまり検索エンジンに優(yōu)しいわけではないことを忘れないでください。検索エンジンの可視性に関する問(wèn)題を回避するには、ページングまたはサイトマップを備えた代替案を提供してください。

start

非常にシンプルなページを作成することから始めます。以下は、HTMLおよびCSSの例の重要な部分を示しています。殘りのファイルは、このチュートリアルの最後にあるデモリンクをクリックすることで表示できます。

html

css
<div id="data-container">
  <div class="data-item">
    Hi! I am the first item.
  </div>
  <div class="data-item">
    Hi! I am the second item.
  </div>
  <div class="data-item">
    Hi! I am the third item.
  </div>
  <div class="data-item">
    Ok, this is getting boring.
  </div>
  <div class="data-item">
    Let's try something new.
  </div>
  <div class="data-item">
    How about loading some more items through AJAX?
  </div>
  <div class="data-item">
    Click the button below to load more items.
  </div>
</div>
<div id="button-more" onclick="lazyload.load()">
  Load more items
</div>
<div id="loading-div">
  loading more items
</div>

#data-container {
  margin: 10px;
}

#data-container .data-item {
  background-color: #444444;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  padding: 5px;
  margin: 5px;
  color: #fff;
}

#loading-div {
  display: none;
}

#button-more{
  cursor: pointer;
  margin: 0 auto;
  background-color: #aeaeae;
  color: #fff;
  width: 200px;
  height: 50px;
  line-height: 50px;
}
基本的なワークフロー

作成したドキュメントを表示する場(chǎng)合、[ロード]ボタンをクリックすると、新しい投稿をロ??ードする必要があります??紤]すべき點(diǎn)がいくつかあります。

  • ページに添付される新しいアイテムを返すURLにリクエストを行う必要があります。
  • もう一度ボタンをクリックすると、このプロセスを繰り返す必要がありますが、2回目は新しい投稿を返す必要があります。
  • これ以上の投稿が表示されるまで、後続のリクエストごとに新しい投稿を提供する必要があります。
  • 殘りの投稿がなくなると、ユーザーに終わりに達(dá)したことをユーザーに伝える必要があります。

ajaxモード

理想的には、ページ番號(hào)を保存するために変數(shù)を宣言する必要があります。これにより、リクエストを送信するU(xiǎn)RLが変更されます。デモには、2.html、3.html、および空の4.html(デモンストレーション目的)の3つのページがあります。ボタンをクリックしてより多くの投稿を読み込むと、リクエストが正常に完了し、新しいプロジェクトをロードするまでに時(shí)間がかかります。この場(chǎng)合、ロードボタンを非表示にし、新しいプロジェクトがロードされていることを示すテキストを表示します。

<div id="data-container">
  <div class="data-item">
    Hi! I am the first item.
  </div>
  <div class="data-item">
    Hi! I am the second item.
  </div>
  <div class="data-item">
    Hi! I am the third item.
  </div>
  <div class="data-item">
    Ok, this is getting boring.
  </div>
  <div class="data-item">
    Let's try something new.
  </div>
  <div class="data-item">
    How about loading some more items through AJAX?
  </div>
  <div class="data-item">
    Click the button below to load more items.
  </div>
</div>
<div id="button-more" onclick="lazyload.load()">
  Load more items
</div>
<div id="loading-div">
  loading more items
</div>

データをページに添付します

最初に、リクエストが作成されたときに実行した変更を元に戻す必要があります。つまり、ロードボタンをもう一度表示してテキストを非表示にします。次に、ページに既に存在するアイテムのリストに受け取った応答を追加する必要があります。デモでは、操作を簡(jiǎn)素化するためにHTMLタグを直接受信することに注意してください。また、JSON応答を送信して、メッセージやステータスなどの変數(shù)を追加することもできます。追加のコードを以下に示します。

#data-container {
  margin: 10px;
}

#data-container .data-item {
  background-color: #444444;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  padding: 5px;
  margin: 5px;
  color: #fff;
}

#loading-div {
  display: none;
}

#button-more{
  cursor: pointer;
  margin: 0 auto;
  background-color: #aeaeae;
  color: #fff;
  width: 200px;
  height: 50px;
  line-height: 50px;
}

処理データの終了

投稿の最後に到達(dá)したら、ページにロードする投稿がもうないことをユーザーに示す必要があります。これはさまざまな方法で実行できます。応答自體に組み込まれたコードまたはメッセージを介して州を送信できます。ただし、この場(chǎng)合はHTMLタグを直接使用するため、空の応答はストリームの終わりを表します。

$(buttonId).hide();
$(loadingId).show();

結(jié)論

私たちが提案したデモは、本質(zhì)的に非常に基本的なものであり、もっと努力すればもっと良いことができます。まず、ボタンを完全に削除し、ユーザーがページの最後までスクロールしたときに関數(shù)を呼び出すことができます。これにより、ユーザーがボタンをクリックしてプロセス全體をより速くするための追加のステップが排除されます。第二に、JSONを介して生データを送信し、jQuery自體を使用してタグを作成することができます。たとえば、

$(buttonId).show();
$(loadingId).hide();
$(response).appendTo($(container));
page += 1;
最後に、JSON応答には、リクエストが正しく完了したというメッセージ、データ、およびロードする投稿が増えるかどうかを含めることができます。この場(chǎng)合、これは応答を送信するためのより効率的な方法です。無(wú)制限のスクロールの詳細(xì)については、この目的のために作成されたWebサイトにアクセスできます。これには、ウェブサイトで使用できるアイデアと既存のツールに関する一般的な情報(bào)が含まれています。ライブデモはGitHubページにあります。コードはGitHubでも利用できます。

(記事が長(zhǎng)すぎて擬似オリジナルの目標(biāo)と一致しないため、FAQパーツはここで省略されています。FAQパーツの內(nèi)容は元のテキストと非常に偶然のものであり、擬似オリジナルは困難であり、変更後、それは記事と論理の完全性に影響します

以上がjqueryに無(wú)限の巻物を?qū)g裝しますの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Java vs. JavaScript:混亂を解消します Java vs. JavaScript:混亂を解消します Jun 20, 2025 am 12:27 AM

JavaとJavaScriptは異なるプログラミング言語(yǔ)であり、それぞれ異なるアプリケーションシナリオに適しています。 Javaは大規(guī)模なエンタープライズおよびモバイルアプリケーション開(kāi)発に使用されますが、JavaScriptは主にWebページ開(kāi)発に使用されます。

JavaScriptコメント:短い説明 JavaScriptコメント:短い説明 Jun 19, 2025 am 12:40 AM

JavaScriptcommentsEareEssentialential-formaining、およびGuidingCodeexecution.1)single-linecommentseared forquickexplanations.2)多LinecommentsexplaincomplexlogiCorprovidededocumentation.3)clarifyspartsofcode.bestpractic

JSで日付と時(shí)間を操作する方法は? JSで日付と時(shí)間を操作する方法は? Jul 01, 2025 am 01:27 AM

JavaScriptで日付と時(shí)間を処理する場(chǎng)合は、次の點(diǎn)に注意する必要があります。1。日付オブジェクトを作成するには多くの方法があります。 ISO形式の文字列を使用して、互換性を確保することをお?jiǎng)幛幛筏蓼埂?2。時(shí)間情報(bào)を取得および設(shè)定して、メソッドを設(shè)定でき、月は0から始まることに注意してください。 3.手動(dòng)でのフォーマット日付には文字列が必要であり、サードパーティライブラリも使用できます。 4.ルクソンなどのタイムゾーンをサポートするライブラリを使用することをお?jiǎng)幛幛筏蓼?。これらの重要なポイントを?xí)得すると、一般的な間違いを効果的に回避できます。

なぜの下部にタグを配置する必要があるのですか? なぜの下部にタグを配置する必要があるのですか? Jul 02, 2025 am 01:22 AM

PLACSTHETTHETTHE BOTTOMOFABLOGPOSTORWEBPAGESERVESPAGESPORCICALPURPOSESESFORSEO、userexperience、andDesign.1.IthelpswithiobyAllowingseNStoAccessKeysword-relevanttagwithtagwithtagwithtagwithemaincontent.2.iTimrovesexperiencebyepingepintepepinedeeping

JavaScript vs. Java:開(kāi)発者向けの包括的な比較 JavaScript vs. Java:開(kāi)発者向けの包括的な比較 Jun 20, 2025 am 12:21 AM

javascriptispreferredforwebdevelopment、whilejavaisbetterforlge-scalebackendsystemsandroidapps.1)javascriptexcelsininintingtivewebexperiences withitsdynAmicnature anddommanipulation.2)javaofferstruntypyping-dobject-reientedpeatures

JavaScript:効率的なコーディングのためのデータ型の調(diào)査 JavaScript:効率的なコーディングのためのデータ型の調(diào)査 Jun 20, 2025 am 12:46 AM

javascripthassevenfundamentaldatypes:number、string、boolean、undefined、null、object、andsymbol.1)numberseadouble-precisionformat、有用であるため、有用性の高いものであるため、but-for-loating-pointarithmetic.2)ストリングリムムット、使用率が有用であること

DOMでのイベントの泡立ちとキャプチャとは何ですか? DOMでのイベントの泡立ちとキャプチャとは何ですか? Jul 02, 2025 am 01:19 AM

イベントキャプチャとバブルは、DOMのイベント伝播の2つの段階です。キャプチャは最上層からターゲット要素までであり、バブルはターゲット要素から上層までです。 1.イベントキャプチャは、AddEventListenerのUseCaptureパラメーターをTrueに設(shè)定することにより実裝されます。 2。イベントバブルはデフォルトの動(dòng)作であり、UseCaptureはfalseに設(shè)定されているか、省略されます。 3。イベントの伝播を使用して、イベントの伝播を防ぐことができます。 4.イベントバブルは、動(dòng)的なコンテンツ処理効率を改善するためにイベント委任をサポートします。 5.キャプチャを使用して、ロギングやエラー処理など、事前にイベントを傍受できます。これらの2つのフェーズを理解することは、タイミングとJavaScriptがユーザー操作にどのように反応するかを正確に制御するのに役立ちます。

JavaとJavaScriptの違いは何ですか? JavaとJavaScriptの違いは何ですか? Jun 17, 2025 am 09:17 AM

JavaとJavaScriptは、異なるプログラミング言語(yǔ)です。 1.Javaは、エンタープライズアプリケーションや大規(guī)模なシステムに適した、靜的に型付けされ、コンパイルされた言語(yǔ)です。 2。JavaScriptは動(dòng)的なタイプと解釈された言語(yǔ)であり、主にWebインタラクションとフロントエンド開(kāi)発に使用されます。

See all articles