<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-Type" content="text/html;charset=utf-8">
<title>网页特效 静态代码的分页效果 </title>
<style type="text/css">
li{display:none}
</style>
</head>
<body>
<ul id="box">
<li>静态网页分页效果01页</li>
<li>静态网页分页效果02页</li>
<li>静态网页分页效果03页</li>
<li>静态网页分页效果04页</li>
<li>静态网页分页效果05页</li>
<li>静态网页分页效果06页</li>
<li>静态网页分页效果07页</li>
<li>静态网页分页效果08页</li>
<li>静态网页分页效果09页</li>
<li>静态网页分页效果10页</li>
<li>静态网页分页效果11页</li>
<li>静态网页分页效果12页</li>
<li>静态网页分页效果13页</li>
<li>静态网页分页效果14页</li>
<li>静态网页分页效果15页</li>
<li>静态网页分页效果16页</li>
<li>静态网页分页效果17页</li>
<li>静态网页分页效果18页</li>
<li>静态网页分页效果19页</li>
<li>静态网页分页效果20页</li>
</ul>
<div id="page"></div>
<script language="javascript">
var obj,j;
var page = 0;
var currentPage = 0;//当前页
var listNum = 2;//每页显示<ul>数
var PagesLen;//总页数
var PageNum = 4;//分页链接接数(5个)
window.onload = function(){
obj = document.getElementById("box").getElementsByTagName("li");
j = obj.length//li的个数
PagesLen = Math.ceil(j / listNum);//总页数
upPage(0)
}
function upPage(p){
currentPage = p
//内容变换
for (var i = 0; i < j; i++){
obj[i].style.display="none"
}
for (var i = p * listNum; i < (p+1) * listNum; i++){
if(obj[i])obj[i].style.display = "block";
console.log(i);
}
//分页链接变换
var strS = '<a href="###" onclick="upPage(0)">首页</a> ';//首页
var PageNum_2 = PageNum % 2 == 0 ? Math.ceil(PageNum / 2)+1 : Math.ceil(PageNum / 2);
var PageNum_3 = PageNum % 2 == 0 ? Math.ceil(PageNum / 2) : Math.ceil(PageNum / 2) + 1;
console.log(PageNum_2,PageNum_3);
var strC = "",startPage,endPage;
if (PageNum >= PagesLen) {
startPage = 0;
endPage = PagesLen - 1;
}else if (currentPage < PageNum_2){
startPage = 0;
endPage = PagesLen - 1 > PageNum ? PageNum : PagesLen - 1;
}else {
startPage=(currentPage+PageNum_3 >= PagesLen) ? PagesLen-PageNum - 1 : currentPage-PageNum_2 + 1;
var t = startPage + PageNum;
endPage =(t > PagesLen) ? PagesLen - 1 : t;
}
console.log(startPage,endPage);
for (var i = startPage;i <= endPage; i++){
if (i == currentPage)strC += '<a href="###" style="color:red;font-weight:700;" onclick="upPage('+i+')">'+(i+1)+'</a> '
else strC += '<a href="###" onclick="upPage('+i+')">'+(i+1)+'</a> '
}
var strE = ' <a href="###" onclick="upPage('+(PagesLen-1)+')">尾页</a> ';//尾页
var strE2 = currentPage + 1 + "/" + PagesLen + "页" + " 共" + j + "条" ;//共*条
document.getElementById("page").innerHTML = strS + strC + strE + strE2;
}
</script>
</body>
</html>

【js】使用javascript 实现静态网页分页效果的更多相关文章

  1. 二、JavaScript语言--JS基础--JavaScript进阶篇--选项卡切换效果

    利用JavaScript知识,实现选项卡切换的效果. 效果图: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居     200万内购五环三居 140万安家东三环     北京首现零首付楼 ...

  2. JavaScript实现的网页放大镜效果

    今天在观看视频学习的时候,学到了一个小技巧.就拿过来与大家进行分享一下啦. 实现的原理 分析需求:需要两张图,一大一小.然后根据鼠标的动作显示出不同的区域块的图像. 核心:鼠标事件的获取和处理.图片显 ...

  3. javascript 利用数组制作分页效果

    代码 参数: pageSize:一页的总数 currentPage:当前的页数 skipNum:跳过的数量 arr:数组 返回值: newArr分页后的数组 var pagination = func ...

  4. 静态页分页功能js代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. 非常不错的一个JS分页效果代码

    这里分享一个不错的js分页代码. 代码中cpage是页面计数,应为全局变量,可以随处调用它: totalpage是总页数. 与asp分页代码很类似,也是先取得记录总数,然后实现分页,基本的分页思路与原 ...

  6. 原生JS实现分页效果2.0(新增了上一页和下一页,添加当前元素样式)

    虽然写的很烂,但至少全部都是自己写的,因为这个没有固定的顺序,所以就没有封装,如果你技术好的话,可以你写的分享给我,谢谢. <!DOCTYPE html><html lang=&qu ...

  7. 原生JS实现分页效果1.0

    不太完整,写的太急,等等加上完整注释,写起来还是有些难度的,写的有点水,后面再改进改进. <!DOCTYPE html><html lang="en">&l ...

  8. Rainyday.js – 使用 JavaScript 实现雨滴效果

    Rainyday.js 背后的想法是创建一个 JavaScript 库,利用 HTML5 Canvas 渲染一个雨滴落在玻璃表面的动画.Rainyday.js 有功能可扩展的 API,例如碰撞检测和易 ...

  9. 网页3D效果库Three.js初窥

    网页3D效果库Three.js初窥 背景 一直想研究下web页面的3D效果,最后选择了一个比较的成熟的框架Three.js下手 ThreeJs官网 ThreeJs-github; 接下来我会陆续翻译 ...

随机推荐

  1. Nginx之OCSP stapling配置

    摘要: 正确地配置OCSP stapling, 可以提高HTTPS性能. 什么是OCSP stapling? OCSP的全称是Online Certificate Status Protocol,即在 ...

  2. JavaScript解析机制与闭包原理实例详解

    js代码解析机制: js代码解析之前会创建一个如下的词法环境对象(仓库):LexicalEnvironment{ } 在扫描js代码时会把: 1.用声明的方式创建的函数的名字; 2.用var定义的变量 ...

  3. 3款网页jQuery抽奖实例演示

    实例演示 实例演示 实例演示

  4. js 字符串转数组

    var obj = "123456".replace(/(.)(?=[^$])/g, "$1,").split(",");    conso ...

  5. JMeter 监听器之保存响应到文件

    监听器之保存响应到文件   by:授客 QQ:1033553122 测试环境 apache-jmeter-2.13 1. 保存结果到响应文件 说明: 文件名称前缀:设置响应文件所在路径(路径必须已存在 ...

  6. loadrunner 脚本优化-参数化方法

    脚本优化-参数化方法 by:授客 QQ:1033553122 方法一 1.确定需要参数化的内容 2.选中需要参数化的内容 3.右键选中的内容->Replace with a Parameter- ...

  7. [Java]Socket和ServerSocket学习笔记

    对于即时类应用或者即时类的游戏,HTTP协议很多时候无法满足于我们的需求.这会,Socket对于我们来说就非常实用了.下面是本次学习的笔记.主要分异常类型.交互原理.Socket.ServerSock ...

  8. (网页)parseFloat在工作中遇到的错误

    parseFloat(23.23) == parseFloat(23.2299999999999).toFixed(2) 类似与以上的代码,展示没什么问题,一旦比较,看展示相等其实不相等,小数位的问题 ...

  9. SQL语句计算距离今天生日还差几天

    转载于:http://www.w3dev.cn/article/20110125/sql-compute-birthdate-now-days.aspx SQL语句计算距离生日还差几天原理很简单,将要 ...

  10. 验证对Random的两个猜想

    猜想1:Random.Next()产生的随机数不会有重复. 猜想2:大量级执行Random.Next(int i)分布在各个数值上的概率是均匀的. 验证猜想1 /*如果Random.Next()产生的 ...