原生 js 写分页
欢迎留言或者加本人QQ172360937咨询
这段代码是用原生 js 写的一个分页的效果
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{padding:0;margin:0;}
#ul{font-size:0;font-family:Microsoft YaHei;display:inline-block;}
#ul li{
-moz-user-select:none;/*火狐*/
-webkit-user-select:none;/*webkit浏览器*/
-ms-user-select:none;/*IE10*/
-khtml-user-select:none;/*早期浏览器*/
user-select:none;
list-style: none;float:left;padding:6px;font-size:13px;border:1px solid #ccc;margin:2px;cursor:pointer;color:#585858;} #div{width:100%;text-align: center;position:absolute;bottom:30px;}
#ul .background{background:#39C6F4;color:white;border:1px solid #39C6F4;}
</style>
</head>
<body>
<div id='div'>
<ul id='ul'>
<li>首页</li>
<li>上一页</li>
<li></li>
<li></li>
<li></li>
<li>下一页</li>
<li>尾页</li>
</ul>
</div>
<script>
var ul = document.getElementById('ul');
var li = ul.getElementsByTagName('li');
li[2].className = 'background';
var num01 = 1;
var num02 = 800/*总数*/;
//1 //首页的点击事件
li[li.length-li.length].onclick = function(){
Background(2);
num01 = 1;
content(num01);
}
//2 //尾页的点击事件
li[li.length-1].onclick = function(){
Background(li.length-3);
num01 = num02-(li.length-5);
content(num01)
}
//3 //上一页的点击事件
li[li.length-(li.length-1)].onclick = function(){ for(var j = 0;j<li.length-4;j++){
if(li[j+2].className == 'background' && li[j+2].innerHTML != 1){
if(j+2 != li.length-(li.length-2)){
Background(j+1);
}
break;
}
}
if(j+2 == li.length-(li.length-2)){
num01 -- ;
content(num01);
}
}
//4 下一页的点击事件
li[li.length-2].onclick = function(){
for(var j = 0;j<li.length;j++){
if(li[j].className == 'background' && li[j].innerHTML < num02){ //* && 写最后一页的总数*/
if(j+1 < li.length-2){
Background(j+1);
}
break;
}
}
if(j+1 == li.length-2){
num01++;
content(num01);
}
}
// 分页的点击事件
for(var i = 0;i<li.length-4;i++){
li[i+2].index = i+2;
li[i+2].onclick = function(){
Background(this.index);
}
}
//把所有的分页背景去掉,给指定的分页添加背景颜色
function Background(num){
for(var i = 0;i<li.length;i++){
li[i].className = li[i].className.replace('background','');
li[num].className = 'background';
}
}
// 给li 写内容
content(num01);
function content(number){
for(var i=0;i<li.length-4;i++){
li[i+2].innerHTML = number;
number++;
}
}
</script>
</body>
</html>
原生 js 写分页的更多相关文章
- 原生JS实现分页效果2.0(新增了上一页和下一页,添加当前元素样式)
虽然写的很烂,但至少全部都是自己写的,因为这个没有固定的顺序,所以就没有封装,如果你技术好的话,可以你写的分享给我,谢谢. <!DOCTYPE html><html lang=&qu ...
- 原生JS实现分页效果1.0
不太完整,写的太急,等等加上完整注释,写起来还是有些难度的,写的有点水,后面再改进改进. <!DOCTYPE html><html lang="en">&l ...
- 原生js写的贪吃蛇网页版游戏特效
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <bo ...
- 用原生JS写移动动画案例及实际应用
js很强大 相信很多人都知道,那么它有哪些强大之处呢?有兴趣的人可以去查查,这里就不赘述了,因为不在本片文章讨论的范围. 我们要讲的是怎么用原生JS写移动动画?我们先举一个最简单的动画例子,很多网站的 ...
- 原生js写Ajax
//原生js写ajax就像打电话 //打电话分下面4步//1.拿出手机//2.拨号//3.说话//4.挺对方说话 //ajax也分下面4步//1.创建ajax对象//2.连接到服务器//3.发送请求( ...
- 原生JS写的ajax函数
参照JQuery中的ajax功能,用原生JS写了一个ajax,功能相对JQuery要少很多,不过基本功能都有,包括JSONP. 调用的方式分为两种: 1. ajax(url, {}); 2. ajax ...
- 用原生js写一个"多动症"的简历
用原生js写一个"多动症"的简历 预览地址源码地址 最近在知乎上看到@方应杭用vue写了一个会动的简历,觉得挺好玩的,研究一下其实现思路,决定试试用原生js来实现. 会动的简历实现 ...
- 原生js版分页插件
之前我在自己的博客里发表了一篇用angularJs自定义指令实现的分页插件,今天简单改造了一下,改成了原生JavaScript版本的分页插件,可以自定义一些简单配置,特此记录下来.如有不足之处,欢迎指 ...
- 原生js显示分页效果
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
随机推荐
- 9.27js拓展、bootstrap菜鸟教程
js(点击挂上 与 点击移除) <div id="dd" style="width:200px; height:200px; background-color:#6 ...
- MysqlDumpslow
可以帮助分析慢查询. 选项: -n 10 列出最近10条慢查询 如: mysqldumpslow
- python如何一行输入多个值
python2的raw_input以及python3的input获取的是整行的字符串.读进来后,字符串有着著名的split可以根据分隔符拆解成子串组成的list. 对于list内的对象,需要的采取转换 ...
- SYSIBM.SYSPACKSTMT db2 存储statement的表
SYSIBM.SYSPACKSTMT table The SYSIBM.SYSPACKSTMT table contains one or more rows for each statement ...
- 关于安装Ubuntu后触摸板无法使用的解决方案
安装了Ubuntu后发现触摸板无法使用,以为是修改了安装文件导致(之前拿安装源文件做了小实验),于是重装,之后触摸板仍无法使用,在一个长满小广告的页面上找到了解决方案. 以下是原文章内容: 最近突然发 ...
- php 审核管理
权限管理界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- Android -- android.os.Parcelable[] cannot be cast to ...
我本想直接把Bunde.getParcelableArray(...)得到的Parcelable[]强制转换为自定义类数组,但是失败了,网上找了两种解决办法: Parcelable[] data =b ...
- 与你相遇好幸运,Sails.js安装
官网: http://sailsjs.org Github:https://github.com/balderdashy/sails 开发文档: http://sailsjs.org/document ...
- WIN10 新建ORACLE实例
1 管理员身份进入CMD环境,执行DBCA命令,在弹出窗口的引导中,完成实例创建 2 如果在创建过程中没有选择适当的字符集(最好采用默认字符集),如下图所示,在进入PLSQL DEVELOPER的时候 ...
- Visual Studio 2015的Web扩展包
过去几年,Visual Studio扩展功能生态系统得到了蓬勃发展,社区贡献出了大量优秀的扩展,其中也包括大量针对Web开发的扩展.但是很多时候,感觉寻找.安装.更新好 几个扩展,总显得比较麻烦.如果 ...