//css
<style>
* {
padding:;
margin:;
list-style: none;
}
.wrapper {
width: 100%;
cursor: pointer;
}
.wrapper > li, .wrapper > span{
display: inline-block;
border: 1px solid black;
margin-right: 10px;
padding: 5px;
}
.tabNumber.active{
background-color: aqua;
color: #fff;
}
</style>

 
//html
<ul class="wrapper"></ul>
<script src='jquery.js'></script>
<script src='turnPage.js'></script>
<script> $('.wrapper').turnPage({ curPage: 5, allPage: 10, changePage(page) { console.log(page) } }) </script>

 
//turnPage.js(function ($) {
function turnPage(options) {
this.wrap = options.wrap //父级元素
this.curPage = options.curPage //当前页
this.allPage = options.allPage //总页数
this.fillHtml()
this.bindEvent()
this.changePage = options.changePage //回调函数
}
turnPage.prototype.fillHtml = function () {
//清空父元素内所有子元素
     $(this.wrap).empty()
      //添加上一页
if (this.curPage > 1) {
$(this.wrap).append('<li class="prev-page">上一页</li>')
}
      //添加第一页
if (this.curPage - 2 > 1) {
$(this.wrap).append('<li class="tabNumber">1</li>')
}
if (this.curPage - 2 > 2) {
$(this.wrap).append('<span>...</span>')
}
for (var i = this.curPage - 2;i < this.curPage + 2; i ++) {
if (i > 0 && i <= this.allPage) {
if (i === this.curPage) {
$(this.wrap).append('<li class="tabNumber active">'+ i +'</li>')
} else {
$(this.wrap).append('<li class="tabNumber">'+ i +'</li>')
} }
}
if (this.curPage + 1 < this.allPage) {
$(this.wrap).append('<span >...</span>')
}
if (this.curPage + 2 < this.allPage) {
$(this.wrap).append('<li class="next-page">下一页</li>')
}
}
turnPage.prototype.bindEvent = function () {
var self = this
$('.prev-page', this.wrap).click(function () {
if (self.curPage > 1) {
self.curPage--
self.change()
}
})
$('.next-page',this.wrap).click(function () {
if(self.curPage < self.allPage) {
self.curPage++
self.change()
}
})
$('.tabNumber', this.wrap).click(function (e) {
self.curPage = parseInt($(this).text())
self.change()
})
}
turnPage.prototype.change = function () {
this.fillHtml()
this.bindEvent()
this.changePage(this.curPage)
}
$.fn.extend({
turnPage: function (options) {
options.wrap = this
new turnPage(options)
return this
}
})
})(window.jQuery)


效果图: 样式比较简单

翻页插件 jquery的更多相关文章

  1. 移动端翻页插件dropload.js(支持Zepto和jQuery)

    一. 声明 代码来源:github上的dropload项目. 二. 问题 dropload.js提供了最基本的上拉翻页,下拉刷新功能.对于由服务端一次返回所有数据的情况基本通用. 但是,需求往往不是服 ...

  2. jQuery支持mobile的全屏水平横向翻页效果

    这是一款支持移动手机mobile设备的jQuery全屏水平横向翻页效果插件. 该翻页插件能够使页面在水平方向上左右全屏翻动,它支持手机触摸屏,支持使用鼠标滚动页面. 整个页面过渡平滑,效果很不错. 在 ...

  3. jQuery中turn.js(翻页效果)学习笔记

    Turn.js是一个内置的jQuery翻页插件1 html中引入<script type="text/javascript" src="js/turn.js&quo ...

  4. 翻书插件:bookblock.js

    BookBlock 是一个 jQuery插件,用来制作带有翻页效果的小书册.可以用任何形式的内容,比如图像或文本.插件会在翻页时利用变形模拟手工翻页,并产生重叠的阴影以达到更逼真的效果. 基本页面 & ...

  5. 6个超炫酷的HTML5电子书翻页动画

    相信大家一定遇到过一些电子书网站,我们可以通过像看书一样翻页来浏览电子书的内容.今天我们要分享的HTML5应用跟电子书翻页有关,我们精选出来的6个电子书翻页动画都非常炫酷,而且都提供源码下载,有需要的 ...

  6. 10款无限滚动自动翻页jquery插件

    2012年3月29日 无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的 结果,改变了一直以来只能通过点击下一页来翻页 ...

  7. Slider 滚动条 Pagination分页插件 JS Ajax 数据范围筛选 加载 翻页 笔记

    入职以后的第二个任务  根据用户所选的价格范围 筛选数据 修复BUG - 筛选数据后 总数没有更新.列表显示错误.翻页加载错误 用到的一些知识点 jquery插件系列之 - Slider滑块 max ...

  8. 15个最佳jQuery的翻页书效果的例子

    在这里,你会发现15的jQuery的翻页书的插件,提供了良好的页面翻转的经验,并帮助创建类似书本的效果. jQuery的增添了一道亮丽的过渡到实际的页面在一本书或杂志HTML5. 1. BookBlo ...

  9. vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件

    vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件/库 一提到移动端的下拉刷新上拉翻页,你可能就会想到iScroll插件,没错iScroll是一个高性能,资源 ...

随机推荐

  1. pikaqiu练习平台(XSS(跨站脚本))

    XSS(跨站脚本)概述 Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS.一般XSS可以分为如下几种常见类型: ...

  2. Codeforces Round #620 (Div. 2)E(LCA求树上两点最短距离)

    LCA求树上两点最短距离,如果a,b之间距离小于等于k并且奇偶性与k相同显然YES:或者可以从a先走到x再走到y再走到b,并且a,x之间距离加b,y之间距离+1小于等于k并且奇偶性与k相同也输出YES ...

  3. (转)java内存分配分析/栈内存、堆内存

    转自(http://blog.csdn.net/qh_java/article/details/9084091) java内存分配分析/栈内存.堆内存 java内存分配分析 本文将由浅入深详细介绍Ja ...

  4. Oracle常用函数记录

    Oracle函数 --schema:hcf --不带任何参数 http://www.cnblogs.com/wuyisky/archive/2010/05/11/oracle_function.htm ...

  5. 给大家推荐一些Java初学者所看的书籍

    一.适合初学者的经典Java书籍; 比方说<Java核心技术卷>,<Effective Java中文版(第2版)> 二.Java开发者必读: <clean code> ...

  6. Python实现AVL树

    参考: https://www.cnblogs.com/linxiyue/p/3659448.html?utm_source=tuicool&utm_medium=referral class ...

  7. 对C#单例模式的理解

    2018年11月6日       小雨 一.单例模式的定义 确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一的实例,是一种对象创建型模式,有如下3个要点: 只能有一个实例 必须是自行创建这个 ...

  8. Java中的门面设计模式及如何用代码实现

    门面设计模式又叫外观设计模式,其核心思想正如其字面意思,向用户提供一个门户,用户只需要访问这个门户来获取他们想要的数据,无需管理这个门户内部的构成,也无需知道里面的运行流程等等,对于开发者来说,使用门 ...

  9. C/C++内存四区

    内存模型图 32位CPU可寻址4G线性空间,每个进程都有各自独立的4G逻辑地址,其中0~3G是用户态空间,3~4G是内核空间,不同进程相同的逻辑地址会映射到不同的物理地址中.其逻辑地址其划分如下: 各 ...

  10. javaWeb核心技术之分页和条件

    分页:limit ?,? 参数1 : startIndex 开始索引. 参数2 : pageSize 每页显示的个数 n 表示第几页 给定一个特殊的单词 pageNumber select * fro ...