亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ajax怎么實現點擊不斷加載數據列表

發布時間:2021-08-12 13:56:17 來源:億速云 閱讀:130 作者:chen 欄目:web開發

這篇文章主要介紹“Ajax怎么實現點擊不斷加載數據列表”,在日常操作中,相信很多人在Ajax怎么實現點擊不斷加載數據列表問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Ajax怎么實現點擊不斷加載數據列表”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Ajax簡介

AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創建交互式網頁應用的網頁開發技術。

AJAX = 異步 JavaScript和XML(標準通用標記語言的子集)。

AJAX 是一種用于創建快速動態網頁的技術。

通過在后臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。

傳統的網頁(不使用 AJAX)如果需要更新內容,必須重載整個網頁頁面。

實現每一種功能都有各種各樣的方法和思路,今天總結我的一個小小的加載功能。

加載很常見,每一位手機控都對她再熟不過了。每次我們在刷微博、朋友圈、空間······,滑到一定的量時,會提醒上滑加載更多,這是一種加載方式;還有一種就是點擊加載,點擊加載一定的量,再點擊,再加載一定的量(說了一大堆廢話)。

現在我們就來說說ajax逐個加載數據,類似這樣的數據列表。

Ajax怎么實現點擊不斷加載數據列表

先是顯示10個,然后點擊加載更多,再顯示10個·····

Ajax怎么實現點擊不斷加載數據列表

一、思路

一般使用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>
<div class="jiaZai_more">點擊查看更多</div>

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 += '<h6 class="date">'+date+'</h6>';
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怎么實現點擊不斷加載數據列表”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

克东县| 稻城县| 东乌珠穆沁旗| 平阴县| 修文县| 宁安市| 惠安县| 全南县| 黄山市| 饶河县| 万山特区| 丰原市| 尖扎县| 宜州市| 勃利县| 安康市| 从化市| 江城| 桐柏县| 平原县| 凉城县| 湘潭市| 阿图什市| 绵竹市| 神池县| 浦城县| 新蔡县| 台北县| 台南市| 玛沁县| 二手房| 商洛市| 宁陕县| 库车县| 桐梓县| 米脂县| 枝江市| 嘉荫县| 都兰县| 洪湖市| 呼图壁县|