南强小屋 Design By 杰米
分页之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>
<div 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>
<div 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'/>
</div>
</div>
<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"+this.getAttribute('studentId'));
}
}
}
function sendAJAX(){
ajax({
url:"/getList"+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 = /([^"";
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"+urlId,
success:function(jsonData){
if(jsonData && jsonData.code===0){
data = jsonData["data"];
bindHTML();
}
}
})
}
return {
init:init
}
})()
detailModuel.init();
</script>
</body>
</html>
最终效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
js,分页
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无js分页之前端代码实现和请求处理的评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
