目錄
鑰匙要點
此演示不使用任何插件或庫來處理無限的滾動功能。每次用戶到達頁面的結尾時,它都會加載一個新帖子,該帖子由PHP腳本生成,該帖子呼應相應的HTML代碼。該演示永遠不會達到內容的末尾,但是您可以通過例如在沒有更多帖子顯示的情況下呼應一個空字符串來實現這一目標。我們本著Twitter的精神在頁面末端顯示一個加載圖像。
>用法 - jQuery
4。數字
5。無限電子表格
6。無限滾動分頁
>
>我們研究了實施無限滾動的六個不同示例。無論您要構建什麼,都應該能夠使用其中一種技術來實現所需的結果。與往常一樣,我們很想听聽您的想法:您是否使用其中一種插件或技術來建造任何酷的東西?您是否有您認為應該提到的最喜歡的插件?在評論中讓我們知道!
>如何使用錯誤回調來處理jQuery無限滾動中的錯誤?當插件無法加載內容時,該功能被調用。您可以使用此回調顯示錯誤消息或採取其他操作。
我如何在沒有更多內容的情況下停止jQuery Infinite滾動?
是的,是的,jquery infinite scrolling在移動設備上工作。但是,您需要確保您的網站響應迅速,並且無限的滾動功能在不同的屏幕尺寸上效果很好。
首頁 web前端 js教程 6 jQuery無限滾動演示

6 jQuery無限滾動演示

Feb 18, 2025 am 10:09 AM

6 jQuery無限滾動演示

現在,無限滾動是一個共同的功能,在幾種情況下確實有用。例如,在某些網站上,我們根本無法想像一個良好的分頁系統,例如Twitter甚至Facebook。無限滾動可能有用的另一個示例是搜索引擎:您需要在找不到想要的鏈接時繼續查看新鏈接,而分頁系統可以減慢您的研究。 如果您需要在項目中使用無限滾動,則可以將六個演示用作實施它的靈感。 請注意,除最後一個演示外,所有這些演示都用jQuery編寫,一些示例正在使用jQuery插件。但是,其他示例可以輕鬆地適用於香草JS,沒有任何問題。

鑰匙要點

  • >本文介紹了六個有關如何實現無限滾動的演示,該功能允許連續滾動內容,而無需單擊分頁鏈接,改善用戶體驗和參與度。
  • 演示包括通過網格,博客文章,圖像,數字,電子表格以及無限滾動和分頁的組合進行無限滾動。每個演示都用jQuery編寫,儘管它們可以適用於香草JS,有些可以使用jQuery插件。
  • >
  • 可以根據項目的需求來定制無限滾動的實現,例如調整加載消息,處理錯誤,處理動態內容,在沒有更多內容時停止以及通過優化內容來提高性能。
  • 1。無限滾動和網格
該演示將jQuery砌體插件與無限滾動插件一起使用。砌體插件非常適合獲取流體網格佈局。保羅·愛爾蘭(Paul Irish)的無限捲軸插件非常擅長加載已經存在的頁面(因此對您的SEO有好處)。您可以使用它加載靜態頁面,例如page2.html,page3.html等,但是此插件還處理生成的頁面,例如page.php? p = 2,page.php? p = 3。但是,要使用它,您需要在URL中有一個頁碼要增加,因此,如果您的頁面(例如page.php?data = xxx),則此插件不適合您。

>用法 - jQuery
<span><span><span><div</span> class<span>="grid"</span>></span>
</span>	<span><span><span><div</span> class<span>="grid-item grid-item-2"</span>></span>
</span>		<span><span><span><p</span>></span>content<span><span></p</span>></span>
</span>	<span><span><span></div</span>></span>
</span>	…
<span><span><span></div</span>></span>
</span>
<span><!-- The next page which content will be loaded when scrolled -->
</span><span><span><span><nav</span> id<span>="pagination"</span>></span>
</span>	<span><span><span><p</span>></span><span><span><a</span> href<span>="page-2.html"</span>></span>Page 2<span><span></a</span>></span><span><span></p</span>></span>
</span><span><span><span></nav</span>></span></span>
登入後複製
登入後複製
登入後複製

2。無限滾動通過博客文章
<span>$(document).ready(function() {
</span>	<span>var grid = $('.grid');
</span>
	grid<span>.masonry({
</span>		<span>itemSelector: '.grid-item',
</span>		<span>columnWidth: 200
</span>	<span>});
</span>
	grid<span>.infinitescroll({
</span>		<span>// Pagination element that will be hidden
</span>		<span>navSelector: '#pagination',
</span>
		<span>// Next page link
</span>		<span>nextSelector: '#pagination p a',
</span>
		<span>// Selector of items to retrieve
</span>		<span>itemSelector: '.grid-item',
</span>
		<span>// Loading message
</span>		<span>loadingText: 'Loading new items…'
</span>	<span>},
</span>
	<span>// Function called once the elements are retrieved
</span>	<span>function(new_elts) {
</span>		<span>var elts = $(new_elts).css('opacity', 0);
</span>
		elts<span>.animate({opacity: 1});
</span>		grid<span>.masonry('appended', elts);
</span>	<span>});
</span><span>});</span>
登入後複製
登入後複製
登入後複製

此演示不使用任何插件或庫來處理無限的滾動功能。每次用戶到達頁面的結尾時,它都會加載一個新帖子,該帖子由PHP腳本生成,該帖子呼應相應的HTML代碼。該演示永遠不會達到內容的末尾,但是您可以通過例如在沒有更多帖子顯示的情況下呼應一個空字符串來實現這一目標。我們本著Twitter的精神在頁面末端顯示一個加載圖像。

>請注意,在下面的實時演示中,新帖子是由JavaScript函數生成的,因為我們無法在Codepen中使用PHP腳本。 >請參閱codepen上的sitepoint(@sitepoint)瀏覽博客文章的筆

>用法 - html

>用法 - jQuery
<span><span><span><div</span> class<span>="grid"</span>></span>
</span>	<span><span><span><div</span> class<span>="grid-item grid-item-2"</span>></span>
</span>		<span><span><span><p</span>></span>content<span><span></p</span>></span>
</span>	<span><span><span></div</span>></span>
</span>	…
<span><span><span></div</span>></span>
</span>
<span><!-- The next page which content will be loaded when scrolled -->
</span><span><span><span><nav</span> id<span>="pagination"</span>></span>
</span>	<span><span><span><p</span>></span><span><span><a</span> href<span>="page-2.html"</span>></span>Page 2<span><span></a</span>></span><span><span></p</span>></span>
</span><span><span><span></nav</span>></span></span>
登入後複製
登入後複製
登入後複製

3。無限滾動圖像
<span>$(document).ready(function() {
</span>	<span>var grid = $('.grid');
</span>
	grid<span>.masonry({
</span>		<span>itemSelector: '.grid-item',
</span>		<span>columnWidth: 200
</span>	<span>});
</span>
	grid<span>.infinitescroll({
</span>		<span>// Pagination element that will be hidden
</span>		<span>navSelector: '#pagination',
</span>
		<span>// Next page link
</span>		<span>nextSelector: '#pagination p a',
</span>
		<span>// Selector of items to retrieve
</span>		<span>itemSelector: '.grid-item',
</span>
		<span>// Loading message
</span>		<span>loadingText: 'Loading new items…'
</span>	<span>},
</span>
	<span>// Function called once the elements are retrieved
</span>	<span>function(new_elts) {
</span>		<span>var elts = $(new_elts).css('opacity', 0);
</span>
		elts<span>.animate({opacity: 1});
</span>		grid<span>.masonry('appended', elts);
</span>	<span>});
</span><span>});</span>
登入後複製
登入後複製
登入後複製

此演示在無限捲軸上的圖像中加載,並且永遠不會達到末端。它使用jQuery無盡的捲軸插件,可以自定義以從屏幕底部觸發X數量的像素數。演示克隆相同的圖像並將它們插入列表的末尾等等,但是可以自定義腳本以很容易地加載來自不同源的圖像。

>請參閱codepen上的sitepoint(@sitepoint)瀏覽圖像的鋼筆。

>用法 - html

>用法 - jQuery

<span><span><span><ul</span> id<span>="posts"</span>></span>
</span>	<span><span><span><li</span>></span>
</span>		<span><span><span><article</span>></span>content<span><span></article</span>></span>
</span>	<span><span><span></li</span>></span>
</span>
	…
<span><span><span></ul</span>></span>
</span>
<span><span><span><p</span> id<span>="loading"</span>></span>
</span>	<span><span><span><img</span> src<span>="images/loading.gif"</span> alt<span>="Loading…"</span> /></span>
</span><span><span><span></p</span>></span></span>
登入後複製

4。數字

的無限列表
<span>$(document).ready(function() {
</span>	<span>var win = $(window);
</span>
	<span>// Each time the user scrolls
</span>	win<span>.scroll(function() {
</span>		<span>// End of the document reached?
</span>		<span>if ($(document).height() - win.height() == win.scrollTop()) {
</span>			<span>$('#loading').show();
</span>
			$<span>.ajax({
</span>				<span>url: 'get-post.php',
</span>				<span>dataType: 'html',
</span>				<span>success: function(html) {
</span>					<span>$('#posts').append(html);
</span>					<span>$('#loading').hide();
</span>				<span>}
</span>			<span>});
</span>		<span>}
</span>	<span>});
</span><span>});</span>
登入後複製
這個演示使用與上一個相同的插件,但我們已將無限滾動應用於具有自己的垂直捲軸的列表。向下滾動時,數字只是將其簡單地作為列表項目附加。

請參閱codepen上的sitepoint(@sitepoint)的無限數字列表。

>用法 - html

>用法 - jQuery

<span><span><span><ul</span> id<span>="images"</span>></span>
</span>	<span><span><span><li</span>></span>
</span>		<span><span><span><a</span> href<span>="https://www.pexels.com/photo/mist-misty-fog-foggy-7919/"</span>></span>
</span>			<span><span><span><img</span> src<span>="https://pexels.imgix.net/photos/7919/pexels-photo.jpg?fit=crop&w=640&h=480"</span> alt<span>=""</span> /></span>
</span>		<span><span><span></a</span>></span>
</span>	<span><span><span></li</span>></span>
</span>
	…
<span><span><span></ul</span>></span></span>
登入後複製

5。無限電子表格

<span>$(document).ready(function() {
</span>	<span>$(window).endlessScroll({
</span>		<span>inflowPixels: 300,
</span>		<span>callback: function() {
</span>			<span>var $img = $('#images li:nth-last-child(5)').clone();
</span>			<span>$('#images').append($img);
</span>		<span>}
</span>	<span>});
</span><span>});</span>
登入後複製
此演示使用與演示2相同的技術來檢測用戶何時到達文檔的末尾,不僅是垂直且水平的。每次達到一端時,我們都會在表中添加一個新的行或新列。如果我們想創建電子表格應用程序,這正是我們可以編寫的腳本類型。

>

請注意,所有單元格都是空的。 CSS計數器生成了行索引,因此我們不需要自己計算它們。

>

>請參閱codepen上的sitepoint(@sitepoint)的鋼筆無限電子表格。

>用法 - html

>用法 - jQuery

<span><span><span><ul</span> id<span>="numbers"</span>></span>
</span>	<span><span><span><li</span>></span>1<span><span></li</span>></span>
</span>	<span><span><span><li</span>></span>2<span><span></li</span>></span>
</span>	<span><span><span><li</span>></span>3<span><span></li</span>></span>
</span>	<span><span><span><li</span>></span>4<span><span></li</span>></span>
</span>	<span><span><span><li</span>></span>5<span><span></li</span>></span>
</span>	…
<span><span><span></ul</span>></span></span>
登入後複製

6。無限滾動分頁

<span>$(document).ready(function() {
</span>	<span>var offset = $('#numbers li').length;
</span>
	<span>$('#numbers').endlessScroll({
</span>		<span>fireOnce: false,
</span>		<span>fireDelay: false,
</span>		<span>loader: '',
</span>		<span>insertAfter: '#numbers li:last',
</span>		<span>content: function(i) {
</span>			<span>return '<li>' + (i + offset) + '</li>';
</span>		<span>}
</span>	<span>});
</span><span>});</span>
登入後複製
>有缺點反對無限滾動:如果不能很好地實現,則用戶體驗可能會被打破。如果讓用戶加載無限列表,則一段時間後他們可能會失去自己的位置。這是從未與傳統的分頁系統相關的事情。但是,分頁需要用戶無需無需使用無限滾動的操作。

>

這兩個事實給了蒂姆·塞維安(Tim Severien)一個想法:如果我們將無限滾動和分頁結合在一起,以利用這兩種方法怎麼辦?結果是最後一個演示。

>向用戶顯示了初始頁面。當用戶向下滾動並到達頁面底部時,將自動加載一個新頁面。在這裡,我們享受無限滾動的簡單性。但是新事物來自屏幕底部的列表。

>

最初隱藏,此列表已填充,每次加載新頁面時,此頁面的數量。這樣,如果用戶想檢索第二頁,他們可以通過擊中相應的數字而在任何努力中。

請參閱codepen上的sitepoint(@sitepoint)的鋼筆無限滾動分頁。

>用法 - html

<span><span><span><div</span> class<span>="grid"</span>></span>
</span>	<span><span><span><div</span> class<span>="grid-item grid-item-2"</span>></span>
</span>		<span><span><span><p</span>></span>content<span><span></p</span>></span>
</span>	<span><span><span></div</span>></span>
</span>	…
<span><span><span></div</span>></span>
</span>
<span><!-- The next page which content will be loaded when scrolled -->
</span><span><span><span><nav</span> id<span>="pagination"</span>></span>
</span>	<span><span><span><p</span>></span><span><span><a</span> href<span>="page-2.html"</span>></span>Page 2<span><span></a</span>></span><span><span></p</span>></span>
</span><span><span><span></nav</span>></span></span>
登入後複製
登入後複製
登入後複製
>用法 - JavaScript

請注意,此代碼使用ES6,但是您可以輕鬆地將其轉換為ES5。

結論
<span>$(document).ready(function() {
</span>	<span>var grid = $('.grid');
</span>
	grid<span>.masonry({
</span>		<span>itemSelector: '.grid-item',
</span>		<span>columnWidth: 200
</span>	<span>});
</span>
	grid<span>.infinitescroll({
</span>		<span>// Pagination element that will be hidden
</span>		<span>navSelector: '#pagination',
</span>
		<span>// Next page link
</span>		<span>nextSelector: '#pagination p a',
</span>
		<span>// Selector of items to retrieve
</span>		<span>itemSelector: '.grid-item',
</span>
		<span>// Loading message
</span>		<span>loadingText: 'Loading new items…'
</span>	<span>},
</span>
	<span>// Function called once the elements are retrieved
</span>	<span>function(new_elts) {
</span>		<span>var elts = $(new_elts).css('opacity', 0);
</span>
		elts<span>.animate({opacity: 1});
</span>		grid<span>.masonry('appended', elts);
</span>	<span>});
</span><span>});</span>
登入後複製
登入後複製
登入後複製

>我們研究了實施無限滾動的六個不同示例。無論您要構建什麼,都應該能夠使用其中一種技術來實現所需的結果。與往常一樣,我們很想听聽您的想法:您是否使用其中一種插件或技術來建造任何酷的東西?您是否有您認為應該提到的最喜歡的插件?在評論中讓我們知道!

>

>常見問題(常見問題解答)

>如何在我的網站上實現jQuery無限滾動?

>在您的網站上實施jQuery infinite滾動涉及幾個步驟。首先,您需要在HTML文件中包括jQuery庫和無限滾動插件。然後,您需要初始化插件並指定要無限加載的內容。您可以使用ItemSelector選項並將其指向內容的類或ID。最後,您需要使用路徑選項指定下一組內容的路徑。這可以是返回URL的URL或功能。

>使用JQuery Infinite滾動有什麼好處?它通過允許用戶瀏覽內容而無需單擊分頁鏈接來改善用戶體驗。它還減少了服務器的負載,因為僅在需要時加載內容。此外,由於用戶更有可能繼續滾動和探索您的內容。 ,您可以在jQuery無限滾動中自定義加載消息。該插件提供了一個名為“加載”的選項,該選項允許您指定內容加載時要顯示的文本和圖像。您也可以使用CSS來樣式加載消息。

>

>如何使用錯誤回調來處理jQuery無限滾動中的錯誤?當插件無法加載內容時,該功能被調用。您可以使用此回調顯示錯誤消息或採取其他操作。

我可以使用動態內容的jQuery Infinite滾動?該插件提供了一種稱為infscr('bind')的方法,您可以調用該方法將無限的滾動功能綁定到新加載的內容。

我如何在沒有更多內容的情況下停止jQuery Infinite滾動?

>當不再使用INFSCR(“銷毀”)方法的內容時,您可以停止jQuery無限滾動。這將刪除無限的滾動功能並防止進一步的內容被加載。

我可以與其他jQuery插件一起使用jQuery Infinite滾動嗎?

是的,可以與其他jQuery插件一起使用jQuery Infinite scrolling 。但是,您需要確保其他插件與無限滾動兼容,並且不會干擾其功能。

>

>如何測試jQuery Infinite Scrolling?

您可以測試jQuery Infinite scrolling通過向下滾動您的頁面並檢查是否已加載新內容。您還可以使用瀏覽器開發人員工具來監視網絡請求並檢查是否正確並正確加載了新內容。

我可以在移動設備上使用jQuery infinite滾動嗎?

是的,是的,jquery infinite scrolling在移動設備上工作。但是,您需要確保您的網站響應迅速,並且無限的滾動功能在不同的屏幕尺寸上效果很好。

>

>我如何提高jQuery Infinite scrolling的性能? jQuery無限滾動的性能通過優化您的內容。這包括減少圖像的大小,縮小CSS和JavaScript文件,並使用服務器端分頁一次限制加載的內容量。您也可以在視圖中使用懶負載來加載圖像。

>

以上是6 jQuery無限滾動演示的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1673
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

JavaScript和Web:核心功能和用例 JavaScript和Web:核心功能和用例 Apr 18, 2025 am 12:19 AM

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

JavaScript在行動中:現實世界中的示例和項目 JavaScript在行動中:現實世界中的示例和項目 Apr 19, 2025 am 12:13 AM

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

了解JavaScript引擎:實施詳細信息 了解JavaScript引擎:實施詳細信息 Apr 17, 2025 am 12:05 AM

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python vs. JavaScript:社區,圖書館和資源 Python vs. JavaScript:社區,圖書館和資源 Apr 15, 2025 am 12:16 AM

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

Python vs. JavaScript:開發環境和工具 Python vs. JavaScript:開發環境和工具 Apr 26, 2025 am 12:09 AM

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

C/C在JavaScript口譯員和編譯器中的作用 C/C在JavaScript口譯員和編譯器中的作用 Apr 20, 2025 am 12:01 AM

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

Python vs. JavaScript:比較用例和應用程序 Python vs. JavaScript:比較用例和應用程序 Apr 21, 2025 am 12:01 AM

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

See all articles