【js】使用javascript 实现静态网页分页效果

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="content-Type" content="text/html;charset=utf-8">
        <title>网页特效 静态代码的分页效果 </title>
        <style type="text/css">
            li{display:none}
        </style>
    </head>
<body>
    <ul id="box">
        <li>静态网页分页效果01页</li>
        <li>静态网页分页效果02页</li>
        <li>静态网页分页效果03页</li>
        <li>静态网页分页效果04页</li>
        <li>静态网页分页效果05页</li>
        <li>静态网页分页效果06页</li>
        <li>静态网页分页效果07页</li>
        <li>静态网页分页效果08页</li>
        <li>静态网页分页效果09页</li>
        <li>静态网页分页效果10页</li>
        <li>静态网页分页效果11页</li>
        <li>静态网页分页效果12页</li>
        <li>静态网页分页效果13页</li>
        <li>静态网页分页效果14页</li>
        <li>静态网页分页效果15页</li>
        <li>静态网页分页效果16页</li>
        <li>静态网页分页效果17页</li>
        <li>静态网页分页效果18页</li>
        <li>静态网页分页效果19页</li>
        <li>静态网页分页效果20页</li>
    </ul>
    <div id="page"></div>
    <script language="javascript">
        var obj,j;
        var page = 0;
        var currentPage = 0;//当前页
        var listNum = 2;//每页显示<ul>数
        var PagesLen;//总页数
        var PageNum = 4;//分页链接接数(5个)
        window.onload = function(){
            obj = document.getElementById("box").getElementsByTagName("li");
            j = obj.length//li的个数
            PagesLen = Math.ceil(j / listNum);//总页数
            upPage(0)
        }
        function upPage(p){
            currentPage = p
            //内容变换
            for (var i = 0; i < j; i++){
                obj[i].style.display="none"
            }
            for (var i = p * listNum; i < (p+1) * listNum; i++){
                if(obj[i])obj[i].style.display = "block";
                console.log(i);
            }
            //分页链接变换
            var strS = '<a href="###" οnclick="upPage(0)">首页</a>  ';//首页
            var PageNum_2 = PageNum % 2 == 0 ? Math.ceil(PageNum / 2)+1 : Math.ceil(PageNum / 2);
            var PageNum_3 = PageNum % 2 == 0 ? Math.ceil(PageNum / 2) : Math.ceil(PageNum / 2) + 1;
            console.log(PageNum_2,PageNum_3);
            var strC = "",startPage,endPage;
            if (PageNum >= PagesLen) {
                startPage = 0; 
                endPage = PagesLen - 1;
            }else if (currentPage < PageNum_2){ 
                startPage = 0; 
                endPage = PagesLen - 1 > PageNum ? PageNum : PagesLen - 1;
            }else {
                startPage=(currentPage+PageNum_3 >= PagesLen) ? PagesLen-PageNum - 1 : currentPage-PageNum_2 + 1;
                var t = startPage + PageNum;
                endPage =(t > PagesLen) ? PagesLen - 1 : t;
            }
            console.log(startPage,endPage);
            for (var i = startPage;i <= endPage; i++){
                 if (i == currentPage)strC += '<a href="###" style="color:red;font-weight:700;" οnclick="upPage('+i+')">'+(i+1)+'</a> '
                 else strC += '<a href="###" οnclick="upPage('+i+')">'+(i+1)+'</a> '
            }
            var strE = ' <a href="###" οnclick="upPage('+(PagesLen-1)+')">尾页</a>  ';//尾页
            var strE2 = currentPage + 1 + "/" + PagesLen + "" + "" + j + "" ;//共*条
            document.getElementById("page").innerHTML = strS + strC + strE + strE2;
        }
    </script>
</body>
</html>

 

转载于:https://www.cnblogs.com/websmile/p/8310014.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值