JS实现带省略号的长分页显示

    // 刷新|生成分页信息
    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‘)
        }
    }

效果:

原文地址:https://www.cnblogs.com/zincredible/p/10390162.html

时间: 2024-08-30 13:12:00

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

防淘宝带省略号的AJAX分页

<?php /**  * 防淘宝带省略号的AJAX分页  * @param date   * @author hany  */ class AjaxPage { private $total; //数据表中总记录数 private $listRows; //每页显示行数 private $limit;  //分页参数 private $uri;   private $pageNum; //总页数 private $config=array('header'=>"个记录", 

Latex 算法过长 分页显示方法

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

电力项目七--js控制文字内容过长的显示

当文本框中文字内容过长时,需要调整显示的样式 如上图所示的样式 对应的代码为: <div id="showInfomation" style="visibility: hidden"></div> <tr onmouseover="this.style.backgroundColor = 'white'" onmouseout="this.style.backgroundColor = '#F5FAFE';

Angular+Bootstrap实现分页(带省略号)

前言 前几天用Angularjs写一个后台管理界面时,需要写分页,自己懒得写于是想在网上搜索一个带省略号的插件,竟然没找到,那没办法就自己写吧 效果图 话不多说,直接上代码 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <link rel="stylesheet" href=

用angularJs实现分页功能,不带省略号。

angularJs 的分页重点体现在对 过滤器 的使用.这个过滤器也并不复杂. 首先上 html 代码: 1 <!DOCTYPE html> 2 <html ng-app="demoApp"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width">

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

版本: django:2.1.7 python:3.7 Django架构中自带了后端分页的技术,通过Paginator进行分页,前端点击按钮提交后台进行页面切换. 优缺点:后端分页对于数据量大的场景有其优势,但页面切换比较慢. 后端分页python3代码如下: paginator = Paginator(stat_list, numtmp) try: flight_stats = paginator.page(1) except PageNotAnInteger: flight_stats =

Android TextView内容过长加省略号,点击显示全部内容

在Android TextView中有个内容过长加省略号的属性,即ellipsize,用法如下: 在xml中: android:ellipsize="end"   省略号在结尾 android:ellipsize="start" 省略号在开头 android:ellipsize="middle"   省略号在中间 android:ellipsize="marquee"  跑马灯 最好加一个TextView显示行数的约束,例如:

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

scroll事件实现监控滚动条并分页显示示例(zepto.js  ) 需求:在APP落地页上的底部位置显示此前其他用户的购买记录,要求此div盒子只显示3条半,但一页有10条,div内的滑动条滑到一页底部自动加载下一页并发加载埋点. 实现:首先理解三个概念,分别是contentH,viewH,scrollTop. contentH:即所要滑动的元素内容的高度,包括可见部分以及滚动条下面的不可见部分. ViewH:即我们看到的这个DIV的高度,不包括可见部分也不包括滚动条下面的不可见部分. scr

内容超出了就隐藏超出部分的后面带(省略号)... , 如果没有超出就正常显示后面不带省略号

text-overflow: ellipsis要配合 下面两个css样式使用 效果是 当一个固定宽的容器中 (设置了 overflow:hidden 与white-space:nowrap不让超出本分换行)的内容超出了就隐藏超出部分的后面带(省略号)...    ,        如果没有超出就正常显示后面不带省略号 white-space: nowrap; text-overflow: ellipsis; overflow: hidden;