JavaScript分頁功能的前端程式碼實作與請求處理詳解
這篇文章主要為大家詳細介紹了js分頁之前端程式碼實作和請求處理,具有一定的參考價值,有興趣的小夥伴們可以參考一下
分頁之js前端實作和請求處理程式碼,供大家參考,具體內容如下
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="css/public.css" charset='utf-8'> </head> <body> <p class='box'> <h2> <span>编号</span> <span>姓名</span> <span>性别</span> <span>分数</span> </h2> <ul class='con' id='content'> <li> <span>1</span> <span>xxx</span> <span>男</span> <span>90</span> </li> </ul> <p class='page' id='page'> <span>FIRST</span> <span>PREV</span> <ul class='pageNum' id='pageNum'> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> <span>NEXT</span> <span>LAST</span> <input type="text" id='numInp' value='1'/> </p> </p> <script src='js/ajax.js'></script> <script> var pageModule = (function(){ //获取需要操作的DOM元素 var content = document.getElementById('content'), page = document.getElementById('page'), pageNum = document.getElementById('pageNum'), numInp = document.getElementById('numInp'); //设定当前也和总页数及本次请求的数据 var n = 1,total = 0,data = null; //实现页面数据绑定及其他数据的绑定 function bindHTML(){ //content bind var str = ''; for(var i = 0;i<data.length;i++){ var curData = data[i]; str+='<li studentId="'+curData["id"]+'">'; str+='<span>'+curData["id"]+'</span>'; str+='<span>'+curData["name"]+'</span>'; str+='<span>'+(curData["sex"]==1 ? "女" : "男")+'</span>'; str+='<span>'+curData["score"]+'</span>'; str+='</li>'; } content.innerHTML = str; //page bind str = ''; for(i = 1;i<=total;i++){ if(i===n){ str+='<li class="bg">'+i+'</li>'; continue; } str+='<li>'+i+'</li>'; } pageNum.innerHTML = str; //numInp bind numInp.value = n; } //事件委托实现分页区域的按钮操作 给文本框enter键绑定操作 function bindEvent(){ page.onclick = function(e){ e = e || window.event; var tar = e.target || e.srcElement tarTag = tar.tagName.toUpperCase(), tarInn = tar.innerHTML; if(tarTag==="SPAN"){ if(tarInn==="FIRST"){ if(n===1){ return; } n = 1; } if(tarInn==="LAST"){ if(n === total){ return; } n = total; } if(tarInn==="PREV"){ if(n === 1){ return; } n--; } if(tarInn==="NEXT"){ if(n === total){ return; } n++; } } if(tarTag==="LI"){ if(n === parseFloat(tarInn)){ return; } n = parseFloat(tarInn); } //input if(tarTag==="INPUT"){ return; } //重新发送请求 sendAJAX() } numInp.onkeyup = function(e){ e = e || window.event; if(e.keyCode===13){//enter键 var val = parseFloat(this.value.replace(/^ +| +$/,'')); if(isNaN(val)){ this.value = n; return; } val = Math.round(val) if(val<1){ n = 1; }else if(val>total){ n = total; }else{ n = val; } sendAJAX(); } } } //content区域的LI跳转事件 function bindLink(){ var oLis = content.getElementsByTagName('li'); for(var i = 0;i<oLis.length;i++){ oLis[i].onclick = function(){ // window.location.href = "detail.html"; //在跳转的时候还需要把当前点击学员得ID传到详情页面 window.open("detail.html?id="+this.getAttribute('studentId')); } } } function sendAJAX(){ ajax({ url:"/getList?n="+n, success:function(jsonData){ if(jsonData && jsonData.code===0){ total = jsonData["total"]; data = jsonData['data']; bindHTML(); bindLink(); } } }) } //模块入口 function init(){ sendAJAX(); bindEvent(); } return { init:init } })() pageModule.init(); </script> </body> </html>
detail.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="css/public.css" charset='utf-8'> </head> <body> <ul class='box2' id='box2'> <li> <span>编号</span> <span>4</span> </li> <li> <span>姓名</span> <span>xxx</span> </li> <li> <span>性别</span> <span>男</span> </li> <li> <span>分数</span> <span>99</span> </li> </ul> <script src='js/ajax.js'></script> <script> String.prototype.queryURLParameter = function(){ //PARAMETER var obj = {}, reg = /([^?=]+)=([^?=]+)/g; this.replace(reg,function(){ var key = arguments[1], value = arguments[2]; obj[key] = value; }); //->HASH // reg = /#([^?=]+)/; // if (reg.test(this)) { // obj['hash'] = reg.exec(this)[1]; // } return obj; } var detailModuel = (function(){ var data = null,urlId = window.location.href.queryURLParameter().id,oBox = document.getElementById('box2'); function bindHTML(){ var str = ""; str+="<li><span>编号</span><span>"+data["id"]+"</span></li>"; str+="<li><span>编号</span><span>"+data["name"]+"</span></li>"; str+="<li><span>编号</span><span>"+(data["sex"]==1 ? "男" : "女")+"</span></li>"; str+="<li><span>编号</span><span>"+data["score"]+"</span></li>"; oBox.innerHTML = str; } function init(){ ajax({ url:"/getInfo?id="+urlId, success:function(jsonData){ if(jsonData && jsonData.code===0){ data = jsonData["data"]; bindHTML(); } } }) } return { init:init } })() detailModuel.init(); </script> </body> </html>
最終效果圖:
以上是JavaScript分頁功能的前端程式碼實作與請求處理詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

藍屏代碼0x0000001怎麼辦藍屏錯誤是電腦系統或硬體出現問題時的一種警告機制,代碼0x0000001通常表示出現了硬體或驅動程式故障。當使用者在使用電腦時突然遇到藍色畫面錯誤,可能會感到驚慌失措。幸運的是,大多數藍色畫面錯誤都可以透過一些簡單的步驟來排除和處理。本文將為讀者介紹一些解決藍屏錯誤代碼0x0000001的方法。首先,當遇到藍色畫面錯誤時,我們可以嘗試重

人臉偵測辨識技術已經是一個比較成熟且應用廣泛的技術。而目前最廣泛的網路應用語言非JS莫屬,在Web前端實現人臉偵測辨識相比後端的人臉辨識有優勢也有弱勢。優點包括減少網路互動、即時識別,大大縮短了使用者等待時間,提高了使用者體驗;弱勢是:受到模型大小限制,其中準確率也有限。如何在web端使用js實現人臉偵測呢?為了實現Web端人臉識別,需要熟悉相關的程式語言和技術,如JavaScript、HTML、CSS、WebRTC等。同時也需要掌握相關的電腦視覺和人工智慧技術。值得注意的是,由於Web端的計

win10系統是一款非常優秀的高智慧系統強大的智慧可以為使用者帶來最好的使用體驗,一般正常的情況下使用者的win10系統電腦都不會出現任何的問題!但在優秀的電腦也難免會出現各種故障最近一直有小伙伴們反應自己的win10系統遇到了頻繁藍屏的問題!今天小編就為大家帶來了win10電腦頻繁藍屏不同代碼的解決方法讓我們一起來看看吧。電腦頻繁藍屏而且每次代碼不一樣的解決辦法:造成各種故障碼的原因以及解決建議1、0×000000116故障原因:應該是顯示卡驅動不相容。解決建議:建議更換廠商原帶驅動。 2、

終止代碼0xc000007b在使用電腦時,有時會遇到各種各樣的問題和錯誤代碼。其中,終止代碼最為令人困擾,尤其是終止代碼0xc000007b。這個程式碼表示某個應用程式無法正常啟動,給用戶帶來了不便。首先,我們來了解終止碼0xc000007b的意思。這個程式碼是Windows作業系統的錯誤代碼,通常發生在32位元應用程式嘗試在64位元作業系統上執行時。它表示應

如果您需要遠端編程任何設備,這篇文章會為您帶來幫助。我們將分享編程任何設備的頂級GE通用遠端代碼。通用電氣的遙控器是什麼? GEUniversalRemote是一款遙控器,可用於控制多個設備,如智慧電視、LG、Vizio、索尼、藍光、DVD、DVR、Roku、AppleTV、串流媒體播放器等。 GEUniversal遙控器有各種型號,具有不同的功能和功能。 GEUniversalRemote最多可以控制四台設備。頂級通用遙控器代碼,可在任何裝置上編程GE遙控器配備一組代碼,使其能夠與不同設備配合。您可

快速上手Python繪圖:畫出冰墩墩的程式碼範例Python是一種簡單易學且功能強大的程式語言,透過使用Python的繪圖庫,我們可以輕鬆實現各種繪圖需求。在本篇文章中,我們將使用Python的繪圖庫matplotlib來畫出冰墩墩的簡單圖形。冰墩墩是一隻擁有可愛形象的熊貓,非常受小朋友的喜愛。首先,我們需要安裝matplotlib函式庫。你可以透過在終端運行

0x000000d1藍屏程式碼是什麼意思近年來,隨著電腦的普及和網路的快速發展,作業系統的穩定性和安全性問題也日益凸顯。一個常見的問題是藍色畫面錯誤,代碼0x000000d1是其中之一。藍色畫面錯誤,或稱為“藍色畫面死機”,是當電腦遇到嚴重系統故障時發生的情況。當系統無法從錯誤中恢復時,Windows作業系統會顯示一個藍色的螢幕,並在螢幕上顯示錯誤代碼。這些錯誤代

身為一名程式設計師,對於能夠簡化程式設計體驗的工具,我感到非常興奮。借助人工智慧工具的幫助,我們可以產生演示程式碼,並根據需求進行必要的修改。在VisualStudioCode中新引入的Copilot工具讓我們能夠創建具有自然語言聊天互動的AI生成程式碼。透過解釋功能,我們可以更好地理解現有程式碼的含義。如何使用Copilot產生程式碼?要開始,我們首先需要取得最新的PowerPlatformTools擴充。要實現這一點,你需要進入擴充頁面,搜尋“PowerPlatformTool”,然後點擊Install按鈕
