JQuery分页

对于我们初学者,分页最终要的就是逻辑上的思考,下面就是我对分页的简单的理解,希望能帮到你们。也可以去查看我的上一篇简洁版的更有助于你的理解。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>分页</title>
    <style type="text/css">
        #content .page{
            display: none;
        }
        #content #pagnation{
            margin-top: 20px;
        }
        #pagnation a{
            padding-right: 5px;
        }
         .numlink, #prev, #next{
             background: #f5f5f5;
             border: 1px solid #D57506;
             margin-left: 10px ;
             padding: 2px 7px ;
             text-decoration: none;
             width: 22px;
             color: #0072bc;
         }
          .color{
            background: #ddeeff;
            border: 1px solid #bbddff;
            color: #F4A460;
        }
    </style>
</head>
<body>
<div id="content">
    <div class="page">
        这里是第一段内容
    </div>
    <div class="page">
        这里是第二段内容
    </div>
    <div class="page">
        第三段内容</div>
    <div class="page">
        第四段内容
    </div>
    <div id="pagnation">
    </div>
</div>
</body>
<script src="js/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
    //首先获取页面的内容和分页按钮的div
    var _Pages = $(".pages");
    var _Nav = $("#pagnation");
    //创建函数添加分页
    function creatLinks() {
        _Nav.append('<a href="javascript:void(0)" id="prev">上一页</a>');
        for(var i=0;i<$(".page").length;i++){
            _Nav.append('<a href="javascript:void(0)" class="numlink">'+(i+1)+'</a>');
        }
        _Nav.append('<a href="javascript:void(0)" id="next">下一页</a>');
    };
    //创建函数添加点击事件
    function  process(now,_Prev,_Next) {
        //首先先把隐藏的page页面1显示出来,同时给分页页码1添加样式
        $('.page:eq('+now+')').css('display','block');
        $('.numlink:eq('+now+')').addClass("color");
        var totle = $(".page").length-1;
        if (now==0){//如果now等于0则让上一页隐藏,下一页显示
            _Prev.hide();
            _Next.show();
        }
        else if(now == totle){//如果now等于页码的总数,则让下一页隐藏,上一页出现
            _Prev.show();
            _Next.hide();
        }
       else{
            _Prev.show();
            _Next.show();
        }
    };
    //创建函数清除所有的样式
    function clearAll() {
       $(".page").css("display","none");
        $(".numlink").removeClass("color");
    };
    //执行函数
    $(document).ready(function () {
        //先把页码1的内容显示出来
        $(".page:eq(0)").css('display','block');
        //添加分页
        creatLinks();
        //给分页1添加样式
        $(".numlink:eq(0)").addClass("color");
        //定义_Prev, _Next
        var _Prev = $("#prev");
        var _Next = $("#next");
        var _link = $(".numlink");
        //添加点击事件前隐藏上一页
        _Prev.hide();
         //添加点击事件
        //定义now为分页下标为color的
        var now = parseInt($(".numlink").index($(".color")));
        _Prev.click(function () {
           clearAll();
           process(now-1,_Prev,_Next);
            now = parseInt($(".numlink").index($(".color")));
        });
        _Next.click(function () {
           clearAll();
            process(now+1,_Prev,_Next);
            now = parseInt($(".numlink").index($(".color")));
        });
        //点击分页
        _link.click(function () {
           clearAll();
           var which = $(this).index()-1;
           process(which,_Prev,_Next);
           now =  parseInt($(".numlink").index($(".color")));
        });

    });

</script>
</html>

 

posted @ 2017-03-14 15:39  童心虫鸣  阅读(194)  评论(0编辑  收藏  举报