這篇文章主要介紹了Ajax點擊不斷載入資料清單的相關資料,需要的朋友可以參考下
Ajax簡介
AJAX即「Asynchronous Javascript And XML」(非同步JavaScript和XML),指一種建立互動式網頁應用的網頁開發技術。
AJAX = 非同步 JavaScript和XML(標準通用標記語言的子集)。
AJAX 是一種用於建立快速動態網頁的技術。
透過在背景與伺服器進行少量資料交換,AJAX 可以使網頁實現非同步更新。這意味著可以在不重新載入整個網頁的情況下,對網頁的某個部分進行更新。
傳統的網頁(不使用 AJAX)如果需要更新內容,必須重載整個網頁頁面。
實現每種功能都有各種各樣的方法和思路,今天總結我的一個小小的載入功能。
載入很常見,每位手機控都對她再熟不過了。每次我們在刷微博、朋友圈、空間······,滑到一定的量時,會提醒上滑加載更多,這是一種加載方式;還有一種就是點擊加載,點擊加載一定的量,再點擊,再加載一定的量(說了一大堆廢話)。
現在我們就來談談ajax逐一載入數據,類似這樣的數據列表。
先顯示10個,然後點選載入更多,再顯示10個·····
一、思路
一般使用ajax加載的話,一下會載入全部數據,這次要控制量的加載,那就要用到判斷,判斷加載到10個停止加載,後面透過點擊按鈕,在接著加載的10個後面繼續加載。
要想控制只載入10個怎麼辦捏。不能透過遍歷的i 來判斷10個,因為載入完10個後後面還要加載,這樣下一個10個就不好判斷了,所以需要定義一個新的變量,來計算加載的個數,
可以這樣寫:
var ci = 0; for(var i = 0; i < data.list.length; i++){ ci++; if(ci> 10){ break; } }
#然後需要再載入10個,再呼叫這個方法,所以這個方法需要宣告一個函數名,下次需要用的時候在調用,如果需要傳參也可以。現在還有個問題,第一次進來載入完10個後,需要再載入前10個數據接著後面的json數據,怎麼辦呢? ? ?
沒關係,可以透過呼叫上面定義好的函數,然後傳參。參數怎麼計算呢? ? ?
先想一個參數和什麼有關係,和 i 有關係,i 和什麼有關係呢?或說什麼可以影響 i 呢?
好像只有它的值才會影響(那不是廢話嗎),這樣的話它的值就不能是一個不變的數了,只能是一個變量,那麼變量從哪裡來呢? ? ?
別忘了我們還有一個點擊事件,先定義一個點擊次數的變數var clickNum = 0,因為每次載入時10個,所以i 的值應該是:
i = 10*clickNum,這是每次載入第一個資料的索引值。這樣我們就解決了上面那個問題。
此時還有問題要解決,當資料全部點擊載入完後,點選按鈕需要隱藏,那怎麼計算資料載入完了呢? ? ?
我們可以透過點擊的次數clickNum 來計算,因為每次載入10個,所以可以計算出總共需要載入的次數parseInt((data.list.length)/10) 1,為什麼加載的次數要加1 呢?
因為parseInt()是取整,例如21/10=2,但實際需要載入3 次,所以要加1 ,巧的是我們第一次載入不用點擊,瀏覽器已載入進來就讀取了10個數據,
所以clickNum = parseInt((data.list.length)/10),當clickNum == parseInt((data.list.length)/10 ) 時隱藏點擊按鈕。
思路基本上清晰了
二、實作功能
HTML:
<dl id="incomeNum"> <dt><em></em>每日分配收益</dt> </dl> <p class="jiaZai_more">点击查看更多</p>
css:
此處省略css。
js:
function nwalletProfit(num, cNum){ $.ajax({ type: "post", async: true, url: url, dataType: "json", success: function (data) { if (data.list.length > 0){ var i = num; var ci= 0; var x = parseInt((data.profit_list.length)/10);//x为每10个一组的组数 if(cNum >= x){ $(".jiaZai_more").hide(); //当点击更多的次数 ≥ 组数时,隐藏按钮 } for(; i < data.profit_list.length; i++){ var htmltxt = ""; ci++; var date = data.profit_list[i].date; var year = date.substring(0, 4); var month = date.substring(4, 6); var day = date.substring(6); date = year+'年'+month+'月'+day+'日'; htmltxt += '<dd>'; htmltxt += '<h5 id="date">'+date+'</h5>'; htmltxt += '<p class="income">'+data.list[i].profit+'%</p>'; if(ci> 10){ break; } $("#incomeNum").append(htmltxt); } } }, error: function (e, d, c) { console.log(d) } }); } nwalletProfit(0); var clickNum = 0; //点击的次数 $(".jiaZai_more").on('click', function(event) { event.preventDefault(); clickNum++; var iNum = 10*clickNum; //每次点击开始加载的第一个索引值 nwalletProfit(iNum, clickNum); });
上面是我整理給大家的,希望今後會對大家有幫助。
相關文章:
以上是Ajax點擊不斷載入資料列表(圖文教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Node.js擅長於高效I/O,這在很大程度上要歸功於流。 流媒體匯總處理數據,避免內存過載 - 大型文件,網絡任務和實時應用程序的理想。將流與打字稿的類型安全結合起來創建POWE

Python和JavaScript在性能和效率方面的差異主要體現在:1)Python作為解釋型語言,運行速度較慢,但開發效率高,適合快速原型開發;2)JavaScript在瀏覽器中受限於單線程,但在Node.js中可利用多線程和異步I/O提升性能,兩者在實際項目中各有優勢。

JavaScript起源於1995年,由布蘭登·艾克創造,實現語言為C語言。 1.C語言為JavaScript提供了高性能和系統級編程能力。 2.JavaScript的內存管理和性能優化依賴於C語言。 3.C語言的跨平台特性幫助JavaScript在不同操作系統上高效運行。

JavaScript在瀏覽器和Node.js環境中運行,依賴JavaScript引擎解析和執行代碼。 1)解析階段生成抽象語法樹(AST);2)編譯階段將AST轉換為字節碼或機器碼;3)執行階段執行編譯後的代碼。

Python和JavaScript的未來趨勢包括:1.Python將鞏固在科學計算和AI領域的地位,2.JavaScript將推動Web技術發展,3.跨平台開發將成為熱門,4.性能優化將是重點。兩者都將繼續在各自領域擴展應用場景,並在性能上有更多突破。

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

是的,JavaScript的引擎核心是用C語言編寫的。 1)C語言提供了高效性能和底層控制,適合JavaScript引擎的開發。 2)以V8引擎為例,其核心用C 編寫,結合了C的效率和麵向對象特性。 3)JavaScript引擎的工作原理包括解析、編譯和執行,C語言在這些過程中發揮關鍵作用。

JavaScript是現代網站的核心,因為它增強了網頁的交互性和動態性。 1)它允許在不刷新頁面的情況下改變內容,2)通過DOMAPI操作網頁,3)支持複雜的交互效果如動畫和拖放,4)優化性能和最佳實踐提高用戶體驗。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能