最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用ajax實現分頁技術

 更新時間:2017年02月09日 10:56:19   作者:前端dog  
這篇文章主要為大家詳細介紹了如何使用ajax實現分頁技術,具有一定的參考價值,感興趣的小伙伴們可以參考一下

ajax分頁效果圖如下:

首先,先看 HTML 代碼和 CSS 代碼,我們需要一個 table 和一個 footer:

<div id="global">
<div id="table">
 <table>
 <col width="19%">
 <col width="19%">
 <col width="19%">
 <col width="19%">
 <col width="24%">
 <tr>
 <th>日期</th>
 <th>時間</th>
 <th>事件</th>
 <th>報警畫面</th>
 <th>事件備注</th>
 </tr>
 </table>
 </div>
 <div id="footer">
 <span id="summary"></span>
 <ul id="pagination">
 <li id="01">首頁</li>
 <li id="02">上一頁</li>
 <li id="03">下一頁</li>
 <li id="04">最后一頁</li>
 </ul>
 <div id="select">
 <span>跳轉到 </span>
 <input type="text" name="page_num">
 <span> 頁 </span>
 <input type="button" name="go_btn" value="跳轉">
 </div>
 </div>
</div>

下面是 css 代碼:

#global{
 position: relative;
}
#table{
 position: absolute;
 top:19%;
 left:1.6%;
 width: 55%;
}
#table textarea{
 width: 10vw;
 height: 10vh;
 background-color: transparent;
 color: #fff;
 border-width: 0;
 text-align: center;
}
table, th, td {
 border: 0.2px solid rgba(60,166,206,0.2);
 border-collapse: collapse;
 color:rgba(60,166,206,1); 
}
th, td {
 padding: 3px;
 text-align: center;
 font-size: 1.6vmin;
}
td{
 background: rgba(2,29,54,1);
}
th{
 background: rgba(20,29,54,1);
 padding: 1.8% 0;
 color: rgba(255,255,255,0.8);
}
#footer{
 position: absolute;
 bottom:5vh;
 left:7vw;
 text-align: center;
 color: rgba(60,166,206,1);
}
#pagination{
 display: inline-block;
}
#pagination li{
 display: inline;
}
#select{
 display: inline-block;
 margin-left: 40px;
}
#select input[type="text"]{
 width: 30px;
 height: 20px;
 background-color: #000;
 border-width: 1px;
}
#select input[type="button"]{
 width: 40px;
 height: 23px;
 background: #000;
 border:none;
}
ul li{
 cursor: pointer;
}

初始化開始日期,結束日期,請求的頁數,請求的每頁數量,總共有多少頁數據,并通過 ajax 將這些數據傳給后臺提供的 API 數據接口,進而從數據庫中獲取到數據,然后可以在前端展示:

var start_date = "2017-01-01", end_date = "2017-01-08";
var pageNo = 1;
var pageSize = 4;
var pages = 0;

如何獲取表格的數據并將其 append 到前端?如何獲取分頁的數據并將其 append 到前端?使用下面我們定義的函數:

loadData(pageNo, pageSize);

接下來看這個函數如何跟 API 數據接口溝通:

function loadData(pageNo, pageSize){
 $(".detail").remove(); //每次重新從 API 數據接口獲取數據都要先清除原先表格 `<tr>` 的內容
 $.ajax({
 url: "/history_alarm",
 type: "POST",
 data: JSON.stringify({date:date, page_num:pageNo, page_size:pageSize}),
 success:function(result){
 var results = JSON.parse(result);
 var list = results.alarm;
 var totalCount = results.alarm_count;
 pages = results.page_count;
 if(list.length != 0){
  for(var i=0; i<list.length; i++){
  var alarm_id = list[i].alarm_id;
  var alarm_pic = list[i].alarm_pic;
  var date = list[i].date;
  var event = list[i].event;
  var time = list[i].time;
  var remark = list[i].remark;
  appendData(alarm_id, alarm_pic, date, event, time, remark);
  addEvent(alarm_id);
  }
  $("#table").show();
  $("#footer").show();
  displayFooter(totalCount, pages, pageNo);
 } else{
  $("#table").hide();
  $("#footer").hide();
 }
 },
 error:function(){
 //error handle function
 }
 });
 }

在 loadData 這個函數中我們還定義了另外3個函數,接下來我們先來看 appendData:

//注意到我們將 `alarm_id` 作為 `<textarea>` 'class` 的值,也作為提交按鈕 `id` 的值,這是因為我們要通過 ajax 將用戶輸入到某一個 `<textarea>` 的值作為參數傳給后臺 API 接口,由其寫入數據庫。
function appendData(alarm_id, alarm_pic, date, event, time, remark){
 var text = '<tr class="detail"><td>'+date+'</td><td>'+time+'</td<td>'+event+'</td>'+
  '<td><img class="img01" src=data:image/jpeg;base64,' + alarm_pic + '</td>'+
  '<td class="modity_btn"><textarea cols="5" rows="3" 
  class='+alarm_id+'>'+remark+'</textarea>'+'<img id='+alarm_id+' src="{{ 
  static_url("slice/modify.png") }}"></td></tr>';;

 $("#table table").append(text);
 }

//該函數定義了如何通過 ajax 將用戶輸入到某一個 `<textarea>` 的值作為參數傳給后臺 API 接口,并寫入數據庫
function addEvent(alarm_id){
 $("#"+alarm_id).click(function(){
 var remark = $("."+alarm_id).val();
 if(remark != ""){
 $.ajax({
  url:"/history_alarm",
  type:"POST",
  data:JSON.stringify({alarm_id:alarm_id, note:remark}),
  success:function(result){
  var results = JSON.parse(result);
  if(results.status == "ok"){
  console.log('ok');
  }
  }
 })
 }
 })
 }
function displayFooter(totalCount, pages, pageNo){
 var newText = '共' + totalCount + '條,' + '第' + pageNo + '頁,' + '共' + pages + '頁';
 $("#summary").text(newText);
 }

獲取數據的函數寫好了,接下來就要點擊分頁的“首頁、上一頁、下一頁、最后一頁、跳轉”時候所對應的事件了。思路是這樣的:用戶點擊分頁的每一個項目,都要重新判斷 pageNo,然后將 pageNo 作為參數,再次調用獲取數據的 API 接口:

$("input[name='page_num']").keydown(function(e){ if(e.keyCode == 13){ $("input[name='go_btn']").click(); } });

$("input[name='go_btn']").click(function(){
 var goPage = $("input[name='page_num']").val();
 if(goPage >= 1 && goPage <=pages && goPage != pageNo){
  pageNo = goPage;
  loadData(pageNo, pageSize);
 } else{
  return false;
 }
});

$("#01").click(function(){
 pageNo = 1;
 loadData(pageNo, pageSize);
});

$("#04").click(function(){
 pageNo = pages;
 loadData(pageNo, pageSize);
});

$("#02").click(function(){
 if(pageNo == 1){
  return false;
 } else{
  pageNo--;
  loadData(pageNo, pageSize);
 }
});

$("#03").click(function(){
 if(pageNo == pages){
  return false;
 } else{
  pageNo++;
  loadData(pageNo, pageSize);
 }
});

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 看圖理解 普通交互方式和Ajax交互方式區(qū)別

    看圖理解 普通交互方式和Ajax交互方式區(qū)別

    看圖理解 普通交互方式和Ajax交互方式區(qū)別,需要的朋友可以參考下。
    2011-11-11
  • jquery1.8版本使用ajax實現微信調用出現的問題分析及解決辦法

    jquery1.8版本使用ajax實現微信調用出現的問題分析及解決辦法

    這篇文章主要介紹了jquery1.8版本使用ajax實現微信調用出現的問題分析及解決辦法的相關資料,需要的朋友可以參考下
    2015-11-11
  • AJAX頁面狀態(tài)保持思路詳解

    AJAX頁面狀態(tài)保持思路詳解

    AJAX流行的時候,很多信息為AJAX異步請求,比如:點擊、翻頁等。通常這種情況你一刷新瀏覽器,當前頁面就會重置到初始狀態(tài)。更不用說把看到的信息url發(fā)給好友了。下面給大家分享實現思路,一起看看吧
    2017-03-03
  • ajax局部刷新一個div下jsp內容的方法

    ajax局部刷新一個div下jsp內容的方法

    局部刷新某個div下的jsp可以通過setInterval或者是setTimeout來輕松實現,具體如下,有此需求的朋友可以參考下,希望對大家有所幫助
    2013-08-08
  • ajax實例入門代碼

    ajax實例入門代碼

    想學習ajax的朋友,如果剛開始接觸可以查看腳本之家的ajax欄目,之前的一些文章。
    2008-11-11
  • ajax實現點擊不同的鏈接讓返回的內容顯示在特定div里

    ajax實現點擊不同的鏈接讓返回的內容顯示在特定div里

    過ajax實現在一個web頁面點擊不同的鏈接,然后將返回的結果顯示在該頁面固定的div里
    2014-06-06
  • Ajax實現省市縣三級聯(lián)動

    Ajax實現省市縣三級聯(lián)動

    這篇文章主要為大家詳細介紹了Ajax實現省市縣三級聯(lián)動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 原生Ajax之全面了解xhr的概念與使用

    原生Ajax之全面了解xhr的概念與使用

    AJAX 是與服務器交換數據并更新部分網頁的藝術,在不重新加載整個頁面的情況下,通過在后臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新,下面這篇文章主要給大家介紹了關于原生Ajax之全面了解xhr的概念與使用的相關資料,需要的朋友可以參考下
    2022-11-11
  • 零基礎學習AJAX之AJAX的簡介和基礎

    零基礎學習AJAX之AJAX的簡介和基礎

    本系列我們將來逐步學習ajax,作為本系列的開篇文章,我們還是俗套些,先來講解下ajax的簡介和基礎知識吧。
    2015-01-01
  • 一款經典的ajax登錄頁面 后臺asp.net

    一款經典的ajax登錄頁面 后臺asp.net

    眾所周知,用服務器控件做頁面的登錄窗體時很簡單的,但是頁面的多次回傳讓我們感覺到頭痛,一直刷新頁面的感覺非常之不好,其實用ajax的局部刷新功能可以完全解決這個問題,制作出來的頁面有很好的交互性,而且是局部刷新,節(jié)省網絡資源。
    2009-10-10

最新評論

承德市| 舟曲县| 南皮县| 白山市| 罗山县| 吉首市| 林州市| 贺州市| 宣恩县| 游戏| 罗定市| 广丰县| 新龙县| 来宾市| 商河县| 夹江县| 平凉市| 长春市| 丘北县| 开化县| 外汇| 灵山县| 黄大仙区| 油尖旺区| 沁阳市| 秦安县| 恩平市| 香港 | 石阡县| 连江县| 沅江市| 井研县| 白河县| 通辽市| 鄂伦春自治旗| 北辰区| 泰来县| 池州市| 宁远县| 绥化市| 崇阳县|