js 实现页数切换

请多指教
测试网址
刚生成页数菜单时 先点上下一个 在测试网址中会报错 项目中不会 不懂怎么回事
https://jsbin.com/pinovorahu/edit?html,css,output

	.overfloath {
        overflow: hidden;
    }
    .floatleft {
        float:left;
    }
    #yemenu {
        list-style-type: none;
    }
    #yemenu li {
        cursor: pointer;
        margin-right:40px;
    }
    .dianji {
        cursor: pointer;
    }
    .nowpageClass {  
      background-color: #6cf;
	  color: white;
	  width: 20px;
	  text-align: center;
    }
    #jump {
        margin-left: 16px;
    }
    #jump_count {
        height: 20px;
        width: 26px;
    }
<body>
  <input type="button" value="cs" onclick="yeshu()"/>
  <div class="floatleft" style=" padding-top: 5px;">
    <div class="floatleft">
      <label id="equipCount"></label>
    </div>
    <div class="floatleft">
      <label class="dianji" onclick="fenye()"><</label>
        </div>
      <div class="floatleft">
        <ul id="yemenu" class="overfloath"> </ul>
      </div>
      <div class="floatleft">
        <label class="dianji" onclick="fenye()">></label>
      </div> 
      <div class="floatleft">
        <label id="jump">前往</label>
        <input type="text" id="jump_count" value="1" />
        <label></label>
        <label class="dianji" onclick="fenye('jp')">></label>
      </div>
    </div>
</body>
<script>  
    /*分页*/
    var pageCount;//总条数
    //查询页数
    function yeshu() {   
    pageCount=11;
        pageCount = Math.ceil(pageCount);//有小数往前进一位
        var list = document.getElementById("yemenu"); 
        var xunhuan = pageCount;
        if (xunhuan > 5) xunhuan = 5;//一次显示五页
        for (var i = 1; i <= xunhuan; i++) {
            var li = document.createElement("li");
            li.innerHTML = i;   
            li.classList.add("floatleft");//这个是添加浮动样式
            if (i == 1) li.classList.add("nowpageClass");
            li.onclick = fenye;
            list.appendChild(li);
        } 
    }
    //改变页数
    function fenyeMenu(pages) {
        var xhPrive = Math.floor(pages) - 2; 
        var xhNext = Math.floor(pages) + 2;  
        var list = document.getElementById("yemenu");  
        for (var i = list.children.length-1; i >-1 ; i--) {
            list.children[i].remove();
        }
        if (xhPrive < 1) {
            xhPrive = 1;
            xhNext = 5;
            if (pageCount < 5)xhNext = pageCount;
        } else if (xhNext > pageCount) {
            xhNext = pageCount;
            xhPrive = pageCount-4; 
            if (xhPrive < 1) xhPrive = 1;
        }
        for (var i = xhPrive ; i < pages; i++) {
            var li = document.createElement("li");
            li.innerHTML = i;
            li.classList.add("floatleft");
            li.onclick = fenye;
            list.appendChild(li);
        } 
        for (var i = pages; i <= xhNext; i++) {
            var li = document.createElement("li");
            li.innerHTML = i;
            li.classList.add("floatleft");
            li.onclick = fenye;
            list.appendChild(li);
        }
        //为了添加样式
        var listafter = document.getElementById("yemenu"); 
        for (var i = 0; i < listafter.children.length; i++) {
            if (pages == listafter.children[i].innerHTML) listafter.children[i].classList.add("nowpageClass");
        }
    }
    //点击当前页
    function fenye(pages) { 
        var _this = window.event.srcElement.innerHTML;  
        if (pages == "jp") _this = document.getElementById('jump_count').value;
        else if (_this == "&lt;") { _this = Math.floor(nowPage) - 1; if (_this < 1) _this = 1; }
        else if (_this == "&gt;") { _this = Math.floor(nowPage) + 1; if (_this > pageCount) _this = pageCount; }
        nowPage = _this;
        fenyeMenu(nowPage);
    }
</script> 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值