// 刷新|生成分页信息
function refreshPageInfo(data, pageIndex) {
var pageSize = data.pageCount
pagingInfo.html('')
var li = $('<li><a data="1">&laquo;</a></li>')
pagingInfo.append(li) // 总页数小于等于10页,全部显示
if (pageSize <= 10) {
for (var i = 1; i <= pageSize; i++) {
var li = $('<li><a data="' + i + '">' + i + '</a></li>')
addActive(li, i, pageIndex)
pagingInfo.append(li)
}
// 当前页是前10页
} else if (pageIndex < 10) {
for (var i = 1; i <= 10; i++) {
var li = $('<li><a data="' + i + '">' + i + '</a></li>')
addActive(li, i, pageIndex)
pagingInfo.append(li)
}
pagingInfo.append('<li><a>......</a></li>')
pagingInfo.append('<li><a data=' + pageSize + '>' + pageSize + '</a></li>')
// 当前页面是最后10页
} else if (pageSize - pageIndex < 10) {
if (pageSize - 10 > 1) {
pagingInfo.append('<li><a data="1">1</a></li>')
pagingInfo.append('<li><a>......</a></li>')
}
for (var i = pageSize - 10; i <= pageSize; i++) {
var li = $('<li><a data="' + i + '">' + i + '</a></li>')
addActive(li, i, pageIndex)
pagingInfo.append(li)
if (i == 1) {
pagingInfo.append('<li><a>......</a></li>')
}
}
} else {
// 当前页面基于所有页面中间位置
// 初始化页面基准坐标
if (tmpPageIndex == 0) {
tmpPageIndex = pageIndex
}
// 当页面索引达到最前或最后时,需要重新设置页面基准坐标
if (tmpPageIndex <= pageIndex - 5 || tmpPageIndex >= pageIndex + 5) {
tmpPageIndex = pageIndex
}
pagingInfo.append('<li><a data="1">1</a></li>')
pagingInfo.append('<li><a>......</a></li>') for (var i = tmpPageIndex - 5; i <= tmpPageIndex + 5; i++) {
var li = $('<li><a data="' + i + '">' + i + '</a></li>')
addActive(li, i, pageIndex)
pagingInfo.append(li)
} pagingInfo.append('<li><a>......</a></li>')
pagingInfo.append('<li><a data=' + pageSize + '>' + pageSize + '</a></li>')
} var li = $('<li><a data="' + data.pageCount + '">&raquo;</a></li>')
pagingInfo.append(li)
} // 添加分页按钮焦点
function addActive(li, i, pageIndex) {
if (i == pageIndex) {
li.addClass('active')
}
}

效果:

JS实现带省略号的长分页显示的更多相关文章

  1. Latex 算法过长 分页显示方法

    参考: Algorithm tag and page break Latex 算法过长 分页显示方法 1.引用algorithm包: 2.在\begin{document}前加上以下Latex代码: ...

  2. 电力项目七--js控制文字内容过长的显示和文本字数的显示

    当文本框中文字内容过长时,需要调整显示的样式 如上图所示的样式 对应的代码为: <div id="showInfomation" style="visibility ...

  3. Django中使用JS通过DataTable实现表格前端分页,每页显示页数,搜索等功能

    Django架构中自带了后端分页的技术,通过Paginator进行分页,前端点击按钮提交后台进行页面切换. 优缺点:后端分页对于数据量大的场景有其优势,但页面切换比较慢. 后端分页python3代码如 ...

  4. js实现长按显示全部内容

    js实现文字超出省略号显示时长按显示全部 元素内容超出省略号显示时长按该元素,生成toast弹窗(id:toolkitContainer),以显示全部内容 #toolkitContainer { ma ...

  5. scroll事件实现监控滚动条并分页显示示例(zepto.js)

    scroll事件实现监控滚动条并分页显示示例(zepto.js  ) 需求:在APP落地页上的底部位置显示此前其他用户的购买记录,要求此div盒子只显示3条半,但一页有10条,div内的滑动条滑到一页 ...

  6. Spring boot入门(三):SpringBoot集成结合AdminLTE(Freemarker),利用generate自动生成代码,利用DataTable和PageHelper进行分页显示

    关于SpringBoot和PageHelper,前篇博客已经介绍过Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件,前篇博客大致讲述了S ...

  7. JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6134851.html 在开发过程中,经常做的一件事,也是最基本的事,就是从数据库中查询数据,然后在客户端显示出 ...

  8. day81:luffy:课程分类页面&课程信息页面&指定分类显示课程信息&分页显示课程信息

    目录 1.构建课程前端初始页面 2.course后端的准备工作 3.后端实现课程分类列表接口 4.前端发送请求-获取课程分类信息 5.后端实现课程列表信息的接口 6.前端显示列表课程信息 7.按照指定 ...

  9. jQuery+bootstrap实现有省略号的数据分页

    1.前言 在前端通过ajax请求数据后,可以通过bootstrap实现分页.由于bootstrap只提供分页的按钮的样式.数据分页我们需要实现页码跳转,上一页下一页,数据过多显示省略号,点击省略号能快 ...

随机推荐

  1. Leetcode题目98.验证二叉搜索树(递归-中等)

    题目描述: 给定一个二叉树,判断其是否是一个有效的二叉搜索树. 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数.节点的右子树只包含大于当前节点的数.所有左子树和右子树自身必须也是 ...

  2. mysqldump 命令

    [参考文章]:mysqldump命令详解 mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中. 1. 参数介绍 默认为 true:表示默认情况下 ...

  3. QT 多线程程序设计 -互斥

    QT通过三种形式提供了对线程的支持.它们分别是,一.平台无关的线程类,二.线程安全的事件投递,三.跨线程的信号-槽连接.这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线程编 ...

  4. PHP AJAX 返回XML数据

    例子:利用AJAX间接访问数据库,查出Nation表中的数据,返回XML数据,并将Nation表中的数据显示在下拉列表框中 外层建一个下拉列表框 </select> JQurey代码 $( ...

  5. [log4j]Error:The method getLogger(String) in the type Logger is not applicable for the arguments

    原因:本该导入import org.apache.log4j.Logger; 结果成了import java.util.logging.Logger; 如果硬把private static Logge ...

  6. mysql 如何给大表添加字段

    1. 能不加字段就不要加, 能不修改字段就不要修改, 能不删除字段就不要删除, 等等为什么要删除字段呢? 如果没事,不要蛋疼的找事. 实际上,我们那次更新失败后, 我们并没有增加那个字段, 然后我们一 ...

  7. Spring框架是一种非侵入式的轻量级框架

    摘自<Spring框架技术> Spring框架是一种非侵入式的轻量级框架 1.非侵入式的技术体现 允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必 ...

  8. Unity3D热更新之LuaFramework篇[04]--自定义UI监听方法

    时隔一个多月我又回来啦! 坚持真的是很难的一件事,其它事情稍忙,就很容易说服自己把写博客的计划给推迟了. 好在终于克服了自己的惰性,今天又开始了. 本篇继续我的Luaframework学习之路. 一. ...

  9. vue中数组检测重复性的两个方法

    检查数组重复(一)let inputValue = this.positionGroupInput[groupId].inputValue; if (inputValue) { for (let po ...

  10. 【CSS】我的颜色到底听谁的?—— css的层叠性

    我们之前学了很多个选择器,都可以帮我们定位到具体标签上,然后我们在设置样式.但这也不可避免会产生一个问题:如果多个选择器同时指向同一个标签,那么到底该听谁的??? css一定有自己的机制来处理这个问题 ...