用jquery分页

<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery前端分页</title>
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script type="text/javascript" src="http://www.jq22.com/demo/jquery-paging-150419132630/js/jquery.js"></script>
<script type="text/javascript">
    $(function() {
        //每页显示的数目
        var show_per_page = 5;
        //获取content对象里面,数据的数量
        var number_of_items = $('#content').children().size();
        //计算页面显示的数量
        var number_of_pages = Math.ceil(number_of_items / show_per_page);

        //隐藏域默认值
        $('#current_page').val(0);
        $('#show_per_page').val(show_per_page);

        var navigation_html = '<a class="previous_link" href="javascript:previous();">上一页</a>';
        var current_link = 0;
        while (number_of_pages > current_link) {
            navigation_html += '<a class="page_link" href="javascript:go_to_page(' + current_link + ')" longdesc="' + current_link + '">' + (current_link + 1) + '</a>';
            current_link++;
        }
        navigation_html += '<a class="next_link" href="javascript:next();">下一页</a>';
        $('#page_navigation').html(navigation_html);

        //add active_page class to the first page link
        $('#page_navigation .page_link:first').addClass('active_page');

        //隐藏该对象下面的所有子元素
        $('#content').children().css('display', 'none');

        //显示第n(show_per_page)元素
        $('#content').children().slice(0, show_per_page).css('display', 'block');
    });

    //上一页
    function previous() {
        new_page = parseInt($('#current_page').val()) - 1;
        //if there is an item before the current active link run the function
        if ($('.active_page').prev('.page_link').length == true) {
            go_to_page(new_page);
        }
    }

    //下一页
    function next() {
        new_page = parseInt($('#current_page').val()) + 1;
        //if there is an item after the current active link run the function
        if ($('.active_page').next('.page_link').length == true) {
            go_to_page(new_page);
        }
    }

    //跳转某一页
    function go_to_page(page_num) {
        //get the number of items shown per page
        var show_per_page = parseInt($('#show_per_page').val());

        //get the element number where to start the slice from
        start_from = page_num * show_per_page;

        //get the element number where to end the slice
        end_on = start_from + show_per_page;

        //hide all children elements of content div, get specific items and show them
        $('#content').children().css('display', 'none').slice(start_from, end_on).css('display', 'block');

        /*get the page link that has longdesc attribute of the current page and add active_page class to it
        and remove that class from previously active page link*/
        $('.page_link[longdesc=' + page_num + ']').addClass('active_page').siblings('.active_page').removeClass('active_page');

        //update the current page input field
        $('#current_page').val(page_num);
    }
</script>

<style>
    #page_navigation a {
        padding: 3px;
        border: 1px solid gray;
        margin: 2px;
        color: black;
        text-decoration: none
    }
    
    .active_page {
        background: darkblue;
        color: white !important;
    }
</style>

</head>

<body>
    <!-- the input fields that will hold the variables we will use -->
    <input type='hidden' id='current_page' />
    <input type='hidden' id='show_per_page' />

    <!-- Content div. The child elements will be used for paginating(they don't have to be all the same,
		you can use divs, paragraphs, spans, or whatever you like mixed together). '-->
    <div id='content'>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>

        <p>Vestibulum consectetur ipsum sit amet urna euismod imperdiet aliquam urna laoreet.</p>

        <p>Curabitur a ipsum ut elit porttitor egestas non vitae libero.</p>

        <p>Pellentesque ac sem ac sem tincidunt euismod.</p>

        <p>Duis hendrerit purus vitae nibh tincidunt bibendum.</p>

        <p>Nullam in nisi sit amet velit placerat laoreet.</p>

        <p>Vestibulum posuere ligula non dolor semper vel facilisis orci ultrices.</p>

        <p>Donec tincidunt lorem et dolor fringilla ut bibendum lacus fringilla.</p>

        <p>In non eros eu lacus vestibulum sodales.</p>

        <p>Duis ultrices metus sit amet sem adipiscing sit amet blandit orci convallis.</p>

        <p>Proin ullamcorper est vitae lorem mollis bibendum.</p>

        <p>Maecenas congue fringilla enim, tristique laoreet tortor adipiscing eget.</p>

        <p>Duis imperdiet metus et lorem venenatis nec porta libero porttitor.</p>

        <p>Maecenas lacinia lectus ac nulla commodo lacinia.</p>

        <p>Maecenas quis massa nisl, sed aliquet tortor.</p>

        <p>Quisque porttitor tellus ut ligula mattis luctus.</p>

        <p>In at mi dolor, at consectetur risus.</p>

        <p>Etiam id erat ut lorem fringilla dictum.</p>

        <p>Curabitur sagittis dolor ac nisi interdum sed posuere tellus commodo.</p>

        <p>Pellentesque quis magna vitae quam malesuada aliquet.</p>

        <p>Curabitur tempus tellus quis orci egestas condimentum.</p>

        <p>Maecenas laoreet eros ac orci adipiscing pharetra.</p>

        <p>Nunc non mauris eu nibh tincidunt iaculis.</p>

        <p>Ut semper leo lacinia purus hendrerit facilisis.</p>

        <p>Praesent et eros lacinia massa sollicitudin consequat.</p>

        <p>Proin non mauris in sem iaculis iaculis vel sed diam.</p>

        <p>Nunc quis quam pulvinar nibh volutpat aliquet eget in ante.</p>

        <p>In ultricies dui id libero pretium ullamcorper.</p>

        <p>Morbi laoreet metus vitae ipsum lobortis ultrices.</p>

        <p>Donec venenatis egestas arcu, quis eleifend erat tempus ullamcorper.</p>

        <p>Morbi nec leo non enim mollis adipiscing sed et dolor.</p>

        <p>Cras non tellus enim, vel mollis diam.</p>

        <p>Phasellus luctus quam id ligula commodo eu fringilla est cursus.</p>

        <p>Ut luctus augue tortor, in volutpat enim.</p>

        <p>Cras bibendum ante sed erat pharetra sodales.</p>

        <p>Donec sollicitudin enim eu mi suscipit luctus posuere eros imperdiet.</p>

        <p>Vestibulum mollis tortor quis ipsum suscipit in venenatis nulla fermentum.</p>

        <p>Proin vehicula suscipit felis, vitae facilisis nulla bibendum ac.</p>

        <p>Cras iaculis neque et orci suscipit id porta risus feugiat.</p>

        <p>Suspendisse eget tellus purus, ac pulvinar enim.</p>

        <p>Morbi hendrerit ultrices enim, ac rutrum felis commodo in.</p>

        <p>Suspendisse sagittis mattis sem, sit amet faucibus nisl fermentum vitae.</p>

        <p>Nulla sed purus et tellus convallis scelerisque.</p>

        <p>Nam at justo ut ante consectetur faucibus.</p>

        <p>Proin dapibus nisi a quam interdum lobortis.</p>

        <p>Nunc ornare nisi sed mi vehicula eu luctus mauris interdum.</p>

        <p>Mauris auctor suscipit tellus, at sodales nisi blandit sed.</p>

    </div>

    <!-- An empty div which will be populated using jQuery -->
    <div id='page_navigation'></div>


    <ul class="pagination">
        <li><a href="#">«</a></li>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li><a href="#">4</a></li>
        <li><a href="#">5</a></li>
        <li><a href="#">»</a></li>
    </ul>
</body>

</html>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值