<!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. JS实现异步提交

    什么是XMLHttpRequest? XMLHttpRequest对象用于在后台与服务器交换数据 XMLHttpRequst的作用 在不重新加载页面的情况下更新网页 在页面已加载后从服务器请求数据 在 ...

  2. 几点建议帮你写出简洁的JS代码

    译者按: 规范的代码可以有效避免代码bug,fundebug才会报警少一点! 原文: Tips for Writing Cleaner Code 译者: Fundebug 为了保证可读性,本文采用意译 ...

  3. 常用的JVM调优参数总结汇总【随时查阅学习】

    本文章参数根据后期用的参数会持续更新  --- (1)-Xms20M 表示设置JVM启动内存的最小值为20M,必须以M为单位 (2)-Xmx20M 表示设置JVM启动内存的最大值为20M,必须以M为单 ...

  4. Kotlin入门(27)文件读写操作

    Java的文件处理用到了io库java.io,该库虽然功能强大,但是与文件内容的交互还得通过输入输出流中转,致使文件读写操作颇为繁琐.因此,开发者通常得自己重新封装一个文件存取的工具类,以便在日常开发 ...

  5. [20181015]12C SQL Translation Framework.txt

    [20181015]12C SQL Translation Framework.txt --//12c提供一个dba改写sql语句的可能性,实际上10g,11g之前也有一个包DBMS_ADVANCED ...

  6. OpenCvSharp尝试

    OpenCvSharp是封装了OpenCV的.net版本 项目地址:https://github.com/shimat/opencvsharp 简单使用: 1.NuGet安装 2.使用OpenCvSh ...

  7. Python数据类型转换函数

    数据类型转换函数 函 数 作 用 int(x) 将 x 转换成整数类型 float(x) 将 x 转换成浮点数类型 complex(real[,imag]) 创建一个复数 str(x) 将 x 转换为 ...

  8. define和typedef的区别

    define和typedef的区别 define是单纯的字符替换,typedef是重新定义了新的类型 #include <stdio.h> #define CHAR1 char* type ...

  9. c/c++ 友元基本概念

    友元基本概念: 1,把一个一般函数声明为一个类的友元函数 2,把一个类A的某几个成员函数声明为某个类B的友元函数 3,把一个类A声明为一个类B的友元类. 友元的作用:可以访问类B里所有的成员变量和成员 ...

  10. 某游戏公司(凯英网络)PHP开发工程师笔试题