js分页
今天写了下关于分页的js代码,写完的感觉就是有点小麻烦,需要很多if判断,思路要清晰
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
a{
margin: 5px;
}
</style>
<title>分页</title>
<script type="text/javascript">
window.onload=function(){
page(
{id:'div1',
nowNum:8,
allNum:10,
callback:function(now,all){
alert('当前页:'+now+','+'总共'+all+'页')
}
}
)
} function page(json){
if(!json.id){
return false
}
var obj=document.getElementById(json.id);
var nowNum=json.nowNum||1;
var allNum=json.allNum||5;
var callback=json.callback||function(){}; if(nowNum >3 && allNum >5){ var oA=document.createElement('a');
oA.href="#"+1;
oA.innerHTML="首页";
obj.appendChild(oA)
}
if(nowNum>1){
var oA=document.createElement('a');
oA.href="#"+(nowNum-1);
oA.innerHTML="上一页";
obj.appendChild(oA)
} if(allNum<=5){
for(var i=0;i<allNum;i++){
var oA=document.createElement('a'); oA.href='#'+(i+1); if(nowNum==i){
oA.innerHTML=(i+1);
}else{
oA.innerHTML='['+ (i+1) +']';
}
obj.appendChild(oA); }
}else{ for(var i=1;i<=5;i++){
var oA=document.createElement('a'); if(nowNum==1||nowNum==2){
oA.href='#'+i;
oA.innerHTML='['+i+']'; if(nowNum==i){
oA.innerHTML=i
}
}else if((allNum - nowNum) == 0||(allNum - nowNum == 1)){ oA.href='#'+(allNum-5+i);
if(allNum - nowNum==0 && i==5){
oA.innerHTML=(allNum-5+i);
}else if(allNum - nowNum==1 && i==4){
oA.innerHTML=(allNum-5+i);
}else{
oA.innerHTML='['+(allNum-5+i)+']';
} }else{
oA.href = '#' + (nowNum - 3 + i); if(i==3){
oA.innerHTML=(nowNum-3+i);
}else{
oA.innerHTML='['+(nowNum-3+i)+']';
} }
obj.appendChild(oA); }
} if((allNum - nowNum)>0){
var oA=document.createElement('a');
oA.href='#'+(nowNum+1);
oA.innerHTML = '下一页'
obj.appendChild(oA);
}
if((allNum - nowNum)>2){
var oA=document.createElement('a');
oA.href='#'+allNum;
oA.innerHTML = '尾页'
obj.appendChild(oA);
}
callback(nowNum,allNum);
var aA=obj.getElementsByTagName('a');
for(var i=0;i<aA.length;i++){ aA[i].onclick=function(){ var nowNum = parseInt(this.getAttribute('href').substring(1)); obj.innerHTML=''; page(
{
id: json.id,
nowNum:nowNum,
allNum:allNum
}
) } }
} </script>
</head>
<body>
<div id="div1">
<!-- <a href="#1">1</a>
<a href="#1">2</a>
<a href="#1">3</a>
<a href="#1">4</a>
<a href="#1">5</a> -->
</div>
</body>
</html>
js分页的更多相关文章
- js分页小结
今天解决了JS分页的问题1 页码 给每页的内容套一个相同的类名 通过选择器加上.length或者.size() 来获得总页数2当前页的页码可以使用each(function(index,DOMsss ...
- 自己封装的JS分页功能[用于搭配后台使用]
* 2016.7.03 修复bug,优化代码逻辑 * 2016.5.25 修复如果找不到目标对象的错误抛出. * 2016.5.11 修复当实际页数(pageNumber)小于生成的页码间隔数时的bu ...
- jsp、js分页功能的简单总结
一.概述 首先,我们要明确为何需要分页技术,主要原因有以下: 1.分页可以提高客户体验度,适当地选择合适的数据条数,让页面显得更有条理,使得用户体验感良好,避免过多数据的冗余. 2.提高性能的需要.分 ...
- 一个重构的js分页类
// JavaScript Document /**//** * js分页类 * @param iAbsolute 每页显示记录数 * @param sTableId 分页表格属性ID值,为Strin ...
- 面向对象版js分页
基于前一个js分页,我将代码改成一个面向对象版的js分页,代码如下 http://peng666.github.io/blogs/pageobj <!DOCTYPE html> <h ...
- 纯js分页代码(简洁实用)
纯js写的分页代码. 复制代码代码如下: //每页显示字数 PageSize=5000; //分页模式 flag=2;//1:根据字数自动分页 2:根据[NextPage]分页 //默认页 start ...
- JS分页 + 获取MVC地址栏URL路径的最后参数
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...
- 浅谈js分页的几种方法
一个项目中必然会遇到分页这种需求的,分页可以使数据加载更合理,也让页面显示更美观,更有层次感!那么js分页到底如何实现呢?下面我就来讲一下三种循序渐进的方法 1.自己纯手写分页 更深入的去理解分页的意 ...
- JS分页条插件
目标 制作js分页导航jq插件,用于无刷新分页或者刷新分页 实现目标参考京东和天猫的分页条. 有四个固定按钮,前页码,后页码,首页,末页. 程序关键点在于计算中间页面的起止位置.逻辑是以当前页码为参照 ...
- js分页实例
js分页实例 案例1 1.js_pageusers.html <!DOCTYPE html> <html> <head> <title>js_pageu ...
随机推荐
- 请注意designer中的NAME field
If you are trying to set the value of a field through PeopleCode and that field happens to be NAME t ...
- dispatchTouchEvent & onInterceptTouchEvent & onTouchEvent
http://www.cnblogs.com/jqyp/archive/2012/04/25/2469758.html dispatchTouchEvent 分发 onInterceptT ...
- XP极限编程
13个核心实战 团队协作(Whole Team) 规划策略(The Planning Game) 软件发布计划(ReleasePlanning) 周期开发计划(IterationPlanning) ...
- Hao123这个流氓
Author:KillerLegend Date:2014.2.27 From:http://www.cnblogs.com/killerlegend/p/3572591.html Hao123真让人 ...
- PHP JS HTML ASP页面跳转代码 延时跳转代码
1.PHP延时跳转代码 //跳转到浏览界面 header("Refresh:1;url=machine_list.php"); //不延时 <?php header(&quo ...
- 靶形数独 (codevs 1174)题解
[问题描述] 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向Z 博士请教,Z 博士拿出了他最近发明的“ ...
- Winform开发几个常用的开发经验及知识积累(一)
本人做Winform开发多年,孜孜不倦,略有小成,其中收集或者自己开发一些常用的东西,基本上在各个项目都能用到的一些开发经验及知识积累,现逐步介绍一些,以飨读者,共同进步. 1.窗口[×]关闭按钮变为 ...
- LC.exe exited with code -1
昨天从win8.1升级到win10之后, 一切还算顺利, 就是升级时间比较长. 但是快下班的时候 遇到一个问题, 是之前在win8.1上没遇到的, 首先代码win8.1 vs2013 上跑的时候一切正 ...
- C#调用sap接口及返回数据到sap
public class SapClass { /// <summary> /// /// </summary> /// <param name="fphm&q ...
- 对Iframe和图表设置高度的优质代码
//对Iframe和图表设置高度 function f() { parent.window.setWinHeight(parent.window.document.getElementById(&qu ...