js 页码分页的前端写法

 <script type="text/javascript">

        var curPage = 1;//当前页码
        var total;//总页数

        $(function () {
            loadPage(curPage)
        });
        function loadPage(page) {
            $.get("/API/News/GetByPage.ashx", { currentPage: page }, function (obj) {
                total = obj.TotalPage;

                var ul = $("#newsList").empty();
                $.each(obj.Info, function (i, e) {

                    var li = $(‘<li style="color:#494053"> <a href="/HtmlContainer/News/‘ + e.newsId + ‘.html">‘ + e.newsTitle + ‘</a>‘ +
                        ‘<span style="float:right;">‘ + formatDate(e.newsAddtime.replace(‘T‘, ‘ ‘), "yyyy-MM-dd") + ‘</span> </li>‘);
                    li.appendTo(ul);
                });

                pageBarChange(page);
            }, "json");
        }

        function pageBarChange(page) {

            var  frontSpac = 5,totalSpac=9;
            curPage = page;//parseInt($("#pageNum").val()) + 1;
            //$("#pageNum").val(curPage);
            var start = 1;
            if ((curPage - frontSpac) > 1 && (total - curPage) > frontSpac) {
                start = curPage - frontSpac;
            }
            else if (total - curPage <= frontSpac) {
                start = total - totalSpac;
            }

            var html = ‘<a href="#" onclick="prev()"> << </a>‘;
            for (var i = start; i <= start + totalSpac; i++) {
                if (i == curPage) {
                    html += ‘<a class="current">‘ + i + ‘</a>‘;
                    continue;
                }
                html += ‘ <a  class="pageNum" href="javascript:void(0)" relid=‘ + i + ‘>‘ + i + ‘</a>‘;

            }
            //加载最后一个按钮的情况
            if (total - curPage <= frontSpac) {
                var temp = (curPage + 1) > total ? total : (curPage + 1);
                html += ‘ <a class="pageNum" href="javascript:void(0)" relid=‘ + temp + ‘>  </a><a  onclick="next()" href="javascript:void(0)"> >> </a>‘;
            }
            else {
                html += ‘... <a  class="pageNum" href="javascript:void(0)" relid=‘ + total + ‘>‘ + total + ‘</a> <a  onclick="next()" href="javascript:void(0)"> >> </a>‘;
            }

            $("#pageBar").empty().append($(html));

            $("#pageBar .pageNum").bind("click", function () {
                var page1 = parseInt($(this).attr("relid"));
                loadPage(page1);
               // pageBarChange(page1);
            });

        }

        function prev() {
            if ((curPage - 1) <= 0) {
                return;
            }
            loadPage(--curPage);
           // pageBarChange(--curPage);
        }

        function next() {
            if ((curPage + 1) > 18) {
                return;
            }
            loadPage(++curPage);
           // pageBarChange(++curPage);
        }

    </script>

效果:

页码分页的前端写法

时间: 2024-10-31 07:07:13

js 页码分页的前端写法的相关文章

纯js手动分页

昨天让做个页面,后台提供所有数据,没有做好分页,需要前端js手动分页. 我参考了 http://www.cnblogs.com/jiechn/p/4095029.html 做了些许改动让分页效果更加完善. 最终效果图 js代码 /** * 分页函数 * pno--页数 * psize--每页显示记录数 * 分页部分是从真实数据行开始,因而存在加减某个常数,以确定真正的记录数 * 纯js分页实质是数据行全部加载,通过是否显示属性完成分页功能 **/ function goPage(pno){ va

单篇文章JS模拟分页

废话部分 前两天做了一个前台分页插件,支持ajax读取数据绑定前台 和 url带页码参数跳转两种方式.于是稍加改动,做了一个单篇文章js模拟分页的代码,为什么说是模拟分页呢?因为在服务器响应HTML请求的时候,就已经把全文回传给客户端了,只是我们通过js的方式,把全文隐藏,每次翻页至显示出我们需要的那一部分,而不是真正的按需要去发出HTML请求.所以,在做这个插件的时候去掉了ajax请求的功能及其附带参数,去掉了pageSize参数(恒等于1).这里就不讨论具体的技术细节了和上一篇的分页计算原理

js页码生成库,一个适合前后端分离的页码生成器

原文:js页码生成库,一个适合前后端分离的页码生成器 前言 上星期写的任务里面有需要进行分页的处理,git搜索了一番,没有觉得合适的,于是自己临时写了个分页的算法. 然后等闲下来的时候,决定把分页进行优化并推广.于是乎,一个适合前后端分离的页码生成器就这样出来了. 先别废话了,直接上 git 地址 和 demo 地址.看官果断点击进去瞧瞧看.项目主页的 readme 文档的自动排版将更好. 先讲讲设计思想 整个开发流程围绕事件绑定进行开发. 脱离 callback 回调这种回调方法,直接使用 事

原生js版分页插件

之前我在自己的博客里发表了一篇用angularJs自定义指令实现的分页插件,今天简单改造了一下,改成了原生JavaScript版本的分页插件,特此记录下来.如有不足之处,欢迎指出. 本插件可以实现的功能: 1. 可初始化每页条数,以及重新选择每页条数 2.自定义首末页.上下页按钮的显示内容(是:<<.  >>.  < .  >    还是:首页.末页.上一页.下一页) 3.设置当前页在一定范围时,是否显示省略号按钮 4.自定义当前页按钮与省略号按钮之间显示的数字按钮的个

js列表分页

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

原生JS实现分页效果1.0

不太完整,写的太急,等等加上完整注释,写起来还是有些难度的,写的有点水,后面再改进改进. <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>原生JS实现分页效果</title> <style> body{ margin:100px 200px; } #page{ margin:20px 0; } #

使用js进行分页

通过Ajax调用js方法进行局部刷新分页,大大减少性能消耗 下面是js代码,可封装成js文件 /** * 分页的改变 * @param pageShowId 分页显示的id * @param i (1 上一页,2 下一页,3 当前页,4 第一页) * @returns 操作过后的页数(当前页) */ function pageChange(pageShowId,i){ if(i == 1){ clickUp(pageShowId); }else if(i == 2){ clickNext(pag

可拖动弹窗的JS和jQuery两种写法

最近在慕课网上学习了一个网页可拖动对话框js实现的演示视频,这个demo中的例子是百度首页登录按钮的弹窗,如下图: 当点击左上角的登录按钮时,弹窗出现并自动居中,同时窗口可拖动的范围被限制在了可视区域内,即浏览器视窗的上下左右边界,弹窗无法移出移动出四个边界,也不会出现滚动条. 另一个效果就是,当改变窗口大小时,对话框自动居中. 这个视频中用了原生js,jQuery两种写法实现案例,但本质上,对话框居中,限制拖动范围的的计算思路是一致的. 为了简化页面,总结核心思路,我重新写了一个小demo,界

原生JS实现分页效果2.0(新增了上一页和下一页,添加当前元素样式)

虽然写的很烂,但至少全部都是自己写的,因为这个没有固定的顺序,所以就没有封装,如果你技术好的话,可以你写的分享给我,谢谢. <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>原生JS实现分页效果</title> <style> body{ margin:100px 200px; } #page{ m