zoukankan      html  css  js  c++  java
  • 2020/2/11学习总结

    今天学习了关于分页的代码实现

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>加载</title>
    
    <style>
    #page a{
    margin:0 10px;
    color: #999;
    }
    #page a.active{
    color:#0000ee;
    }
    </style>
    </head>
    <body>
    <div class="pagination-nick">
    
    <div id="list"></div>
    <div id="page"></div>
    </div>
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    <script>
    var pager = {
    pageIndex:1,//当前页码
    pageCount:10,//每页显示多少条数据
    pageMax:0,//数据有一共多少页
    
    }
    var obj={other:{},value:[11,21,31,41,51,61,71,81,91,1,12,22,32,42,52,62,72,82,92,2,13,23,33,43,53,63,73,83,93,3,14,24,34,44,54,64,74,84,94,4,99999999999]};//模拟数据
    
    $(function(){
    
    
    //一共有多少页
    pager.pageMax=obj.value.length % pager.pageCount?parseInt(obj.value.length / pager.pageCount)+1:obj.value.length / pager.pageCount;
    var btnBox='';
    
    //循环出多少页
    btnBox+='<a href="javascript:;" data-type="first">首页</span><a href="javascript:;" data-type="nextPage">下一页</a>'
    for(var i=1;i<=pager.pageMax;i++){
    var j =i;
    btnBox+='<a href="javascript:;" data-type="'+j+'">'+j+'</a>'
    }
    btnBox+='<a href="javascript:;" data-type="firstPage">上一页</a><input type="number" value="1" class="int" placeholder="1"><button class="btn-yes">确定</button><a href="javascript:;" data-type="last">尾页</a>'
    console.log(pager.pageMax)
    
    $('#page').html(btnBox)
    $('#page a:nth-child(3)').addClass('active')
    listBox(1);
    //页码选中
    
    
    //点击页数获取数据
    $('#page a').on('click',function(){
    
    var num= $(this).attr('data-type')
    if(!isNaN(num)){
    listBox(num)
    pager.pageIndex=Number(num)//unm是字符串,要转为数字类型
    
    }else{
    switch(num){
    case 'first':listBox(1);//首页
    pager.pageIndex=1
    break;
    case 'last':listBox(pager.pageMax);//尾页
    pager.pageIndex=pager.pageMax
    break;
    case 'nextPage'://下一页
    if(pager.pageIndex < pager.pageMax){
    console.log(typeof(pager.pageIndex))
    listBox(pager.pageIndex+1)
    pager.pageIndex=pager.pageIndex+1
    console.log(pager.pageIndex)
    }
    break;
    case 'firstPage'://上一页
    if(pager.pageIndex > 1){
    listBox(pager.pageIndex-1)
    pager.pageIndex=pager.pageIndex-1
    }
    break;
    }
    }
    
    pageNum()
    $('.int').val(pager.pageIndex)
    
    })
    
    //填写页数搜索
    $('.btn-yes').on('click',function(){
    if($('.int').val()){
    
    if($('.int').val()<1){
    listBox(1)
    pager.pageIndex=1
    $('.int').val(1)
    }else if($('.int').val()>pager.pageMax){
    listBox(pager.pageMax)
    pager.pageIndex=pager.pageMax
    $('.int').val(pager.pageMax)
    }else{
    listBox($('.int').val())
    pager.pageIndex=$('.int').val()
    }
    }
    pageNum()
    })
    
    
    })
    
    //选中页码
    
    function pageNum(){
    $('#page a').each(function(){
    
    if($(this).attr('data-type')==pager.pageIndex){
    $(this).addClass('active').siblings().removeClass('active')
    }
    })
    }
    //列表
    function listBox(numIndex){
    
    var numList=numIndex * pager.pageCount>obj.value.length?obj.value.length:numIndex * pager.pageCount;//循环到的数据
    var numNext=(numIndex-1) * pager.pageCount//从那条数据开始循环
    console.log(numNext)
    console.log(numList)
    var xhtml='';
    
    for(var i=numNext;i<numList;i++){
    
    xhtml+='<li>'+obj.value[i]+'</li>'
    }
    console.log(xhtml)
    $('#list').html(xhtml);
    }
    </script>
    </body>
    </html>
  • 相关阅读:
    C#发送邮件简单例子
    ABAP随笔
    日期格式转换
    正则校验金额,整数8位,小数3位。
    angular语法运用技巧
    Oracle中连接与加号(+)的使用
    含有代码分析的面试题
    面试的java题目
    递归查询
    本地没有ORACLE远程登录oracle服务器
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/12298119.html
Copyright © 2011-2022 走看看