web前端经常遇到的json数据的翻页处理
来源:互联网 发布:朱文臣 的网络与 编辑:程序博客网 时间:2024/05/22 00:26
作为web前端入门的攻城狮第一次写博文,提升自己,望大家指正,互相学习!
这次写的是web前端经常遇到的json数据的请求和翻页处理。
下面是代码:
html部分:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>ajax请求数据</title> <script src="js/jquery-2.1.1.min.js"></script> <script src="js/ajax-test.js"></script></head><body> <div> <ul></ul> </div> <div class="pagelist"> <span>共<p></p>条,每页显示<p></p>条</span> <button>上一页</button><button>下一页</button> <span>跳转至</span> <input type="text" name="currPage" class="targetNum" title=""> <button style="width: 45px;">确定</button> </div></body></html>
js代码:
$(function(){ //把json数据放入数组 var arr=[], itemNum=5;//每页显示数据 $.ajax({ type:"get", url:"http://www.***************/请求json数据", dataType:"jsonp", success:function(data){ $.each(data,function(n,value){ /*返回数据处理,因自己所传数据而定*/ }) }); viewArr(arr,1,itemNum); pageBtnResize(Math.ceil(arr.length/itemNum)); } }); //数据展示 function viewArr(arr,pageNum,itemNum){ var arrLen=arr.length; var vLen=itemNum*pageNum; var i=itemNum*(pageNum-1); var str=""; if(pageNum<1){ return; } if(vLen>arrLen){ vLen=arrLen; } for(i;i<vLen;i++){ str+="<li>"+arr[i]+"</li>"; } $("div ul").html(str); } //页码初始化 function pageBtnResize(pageNumAll){ var btn1=$("<button class='pageNum currentnum'>1</button>"); var btn2=$("<button class='pageNum'>2</button>"); var span=$("<span class='dian'> ...</span>"); var btnall=$("<button class='pageNum'>"+pageNumAll+"</button>"); if(pageNumAll<8){ var j=pageNumAll; for(var i=1;i<pageNumAll;i++){ var btn=$("<button class='pageNum'>"+(j)+"</button>"); j--; $(".pagelist button").eq(0).after(btn1,btn); } }else{ $(".pagelist button").eq(0).after(btn1,btn2,span,btnall); } $(".pagelist button").on("click",function(){ var sBtn=$(this); target(sBtn); }); $(".pagelist span p").eq(0).css("display","inline").html(arr.length); $(".pagelist span p").eq(1).css("display","inline").html(itemNum); } //页码按钮判断 function target(btn){ var sBtn=$(btn).text(); var currenNum=$(".pagelist .currentnum").text(); var pageNumAll=$(".pagelist .pageNum:last").text(); if(sBtn==="上一页"||sBtn==="下一页"){ if(sBtn==="上一页"){ if(currenNum>=2){ currenNum--; } } if(sBtn==="下一页"){ if(parseInt(currenNum)<parseInt(pageNumAll)){ currenNum++; } } }else if(sBtn==="确定"){ var targetnum=$(".pagelist input").val(); targetnum=parseInt(targetnum); if(!targetnum||targetnum===""||targetnum>parseInt(pageNumAll)) { alert("跳转的页码有误!"); }else{ currenNum=targetnum; } }else{ currenNum=sBtn; } turnPage(currenNum,pageNumAll); } //翻页按钮的切换效果 function turnPage(targetnum,pageNumAll){ var btn1=$("<button onclick='' class='pageNum'><a>1</a></button>"); var btn2=$("<button onclick='' class='pageNum'>"+(targetnum-1)+"</button>"); var btn3=$("<button onclick='' class='pageNum currentnum'>"+targetnum+"</button>"); var btn4=$("<button onclick='' class='pageNum'>"+(parseInt(targetnum)+1)+"</button>"); var span1=$("<span class='dian'> ...</span>"); var span2=$("<span class='dian'> ...</span>"); var btnall=$("<button class='pageNum'>"+pageNumAll+"</button>"); if(pageNumAll<8){ $(".pagelist .pageNum").removeClass("currentnum").eq(targetnum-1).addClass("currentnum"); }else{ $(".pagelist .pageNum").remove(); $(".pagelist .dian").remove(); if(targetnum>3&&targetnum<pageNumAll-2){ $(".pagelist button").eq(0).after(btn1,span1,btn2,btn3,btn4,span2,btnall); }else if(targetnum==3){ $(".pagelist button").eq(0).after(btn1,btn2,btn3,btn4,span2,btnall); }if(targetnum==2){ $(".pagelist button").eq(0).after(btn1,btn3,btn4,span2,btnall); }if(targetnum==1){ $(".pagelist button").eq(0).after(btn3,btn4,span2,btnall); }if(targetnum==(pageNumAll-2)){ $(".pagelist button").eq(0).after(btn1,span1,btn2,btn3,btn4,btnall); }if(targetnum==(pageNumAll-1)){ $(".pagelist button").eq(0).after(btn1,span1,btn2,btn3,btnall); }if(targetnum==(pageNumAll)){ $(".pagelist button").eq(0).after(btn1,span1,btn2,btn3); } } $(".pagelist .pageNum").on("click",function(){ var sBtn=$(this); target(sBtn); }); viewArr(arr,targetnum,itemNum); }});
感觉js部分还可以优化很多,但是水平有限,哪位写写哈!
0 0
- web前端经常遇到的json数据的翻页处理
- 前端经常遇到的一些面试题
- 解析json数据(经常遇到)
- Android开发中经常遇到的一些不同Json格式数据的解析的总结
- web前端遇到的问题
- 使用JQuery 将DataTable 转化成JSON数据,前端无法处理JSON数据的注意事项
- 微信里经常看到的滑动翻页效果,slide,翻页slide
- 前端奇淫技巧(一)之前端遇到需要数据遍历的如何处理
- Json数据的处理
- JSON数据的处理
- json数据的处理
- json数据的处理
- 经常遇到的问题
- 经常遇到的问题
- 翻页的WEB控件
- 翻页的WEB控件
- web前端-工作中经常会用到的一些样式
- 翻页的处理
- mac上运行React Native开发环境变量配置中遇到的坑
- js实现微博,qq空间分享链接
- Jmeter之监控服务器资源
- iOS移动和删除文件
- hibernate缓存学习之【一级缓存】
- web前端经常遇到的json数据的翻页处理
- UVa11732 Strcmp,Anyone?[Trie树]
- linux内核参数
- SpringBoot-JUnit
- 拒绝服务攻击与周边
- 8.2.1.7 Use of Index Extensions 使用索引扩展
- windows,linux下SVN实现自动更新WEB目录
- PC终端执行开发板上的图形界面程序时出错:Gtk-WARNING **: cannot open display:
- 【JAVA】JAVA线程及锁基础知识-niyuelin