• js 简易的分页器插件


    1.自己引入jquery插件,我的demo是引入的自己本地的query

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title></title>
            <style type="text/css">
    * {
      padding: 0;
      margin: 0;
      font-family: "微软雅黑";
    }
    li {
      list-style: none;
    }
    div.main-wrap {
      width: 1200px;
      height: 800px;
      position: relative;
      margin: 0 auto;
    }
    div.main-wrap div.paging-content {
      width: 100%;
    }
    div.main-wrap div.paging-content ul.pageItem {
      width: 100%;
      overflow: hidden;
      display: none;
    }
    div.main-wrap div.paging-content ul.pageItem.active {
      display: block;
    }
    div.main-wrap div.paging-content ul.pageItem li {
      width: 200px;
      height: 300px;
      margin: 10px;
      float: left;
      background: yellowgreen;
      border-radius: 8px;
      cursor: pointer;
      font-size: 50px;
      color: #fff;
      text-align: center;
      line-height: 300px;
    }
    div.main-wrap div.paging {
      position: absolute;
      bottom: 50px;
      left: 50%;
      margin-left: -200px;
      height: 28px;
      width: 400px;
    }
    div.main-wrap div.paging > span {
      display: block;
      width: 26px;
      height: 26px;
      border: 1px solid #999;
      cursor: pointer;
      float: left;
    }
    div.main-wrap div.paging span.prev {
      margin-right: 4px;
      background: url(../img/prevbtn.png) center no-repeat;
    }
    div.main-wrap div.paging span.next {
      margin-left: 4px;
      background: url(../img/nextbtn.png) center no-repeat;
    }
    div.main-wrap div.paging div.page-btn {
      width: 180px;
      height: 28px;
      overflow: hidden;
      float: left;
      position: relative;
    }
    div.main-wrap div.paging div.page-btn ul {
      width: 1000px;
      height: 28px;
      position: absolute;
      left: 0;
      top: 0;
    }
    div.main-wrap div.paging div.page-btn ul li {
      float: left;
      height: 26px;
      line-height: 28px;
      padding: 0 6px;
      font-size: 20px;
      color: #666;
      cursor: pointer;
    }
    div.main-wrap div.paging div.page-btn ul li.active {
      border-bottom: 2px solid #9ACD32;
    }
    
            </style>
        </head>
        <body>
            
            <div class="main-wrap">
                <div class="paging-content">
                    <ul class="pageItem paging1 active">
                        <li>1</li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>    
                    </ul>
                    <ul class="pageItem paging2">
                        <li>2</li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>    
                    </ul>
                    <ul class="pageItem paging3">
                        <li>3</li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>    
                    </ul>
                    <ul class="pageItem paging4">
                        <li>4</li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>    
                    </ul>
                    <ul class="pageItem paging5">
                        <li>5</li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>    
                    </ul>
                    <ul class="pageItem paging6">
                        <li>6</li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>    
                    </ul>
                    <ul class="pageItem paging7">
                        <li>7</li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>    
                    </ul>
                    <ul class="pageItem paging8">
                        <li>8</li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>
                        <li></li>    
                    </ul>
                </div>        
                <div class="paging">
                    <span class="prev"></span>
                    <div class="page-btn">
                        <ul class="btn-list">
                            <li class="active">2016</li>
                            <li>2015</li>
                            <li>2014</li>
                            <li>2013</li>
                            <li>2012</li>
                            <li>2011</li>
                            <li>2010</li>
                            <li>2009</li>
                        </ul>
                    </div>
                    <span class="next"></span>
                </div>
            </div>    
        </body>
        <script type="text/javascript" src="js/jquery.js" ></script>
        <script type="text/javascript">
            $(function(){
            
    createPage(".main-wrap",".pageItem",".prev",".next","div.page-btn",".btn-list","li",4).init();    
    /*
       wrap:最外层的dom
       pageItem:每页内容的wrap
       prev:上一页的按钮
       next:下一页的按钮
       btnWrap:分页器的页数的外层dom,注意:这个dom不包含prev和next
       btnBox:每个分页点的dom外层
       btn:分页点的dom
       showBtn:展示个数,默认为3个
     * */
    
    function createPage(wrap,pageItem,prev,next,btnWrap,btnBox,btn,showBtn){
             var fn  = {};
             var $wrap  =$(wrap),
                $pageItem = $wrap.find(pageItem),
                $prev = $wrap.find(prev),
                $next = $wrap.find(next),
                $btnWrap = $wrap.find(btnBox),
                $btnList = $btnWrap.find(btn),
                currActive = 0,
                prevActive = 0,
                maxLen = $pageItem.length,
                showBtn = showBtn || 3,
                btnWidth = $btnList.outerWidth(),
                currLeft = 0;
             fn.init = function(){
                 fn.Layer();
                 fn.prev();
                 fn.next();
                 fn.btn();
             };
             fn.Layer = function(){
                 $wrap.find(btnWrap).css("width",showBtn*btnWidth);
             };       
             fn.prev = function(){
                 $prev.on("click",function(){
                         currActive--;
                         if(currActive < 0){
                             currActive = maxLen-1;
                         }
                         fn.changed(currActive);    
                 });
             };
             
             fn.next = function(){
                 $next.on("click",function(){
                     currActive++;
                     if(currActive >= maxLen){
                         currActive = 0;
                     }
                     fn.changed(currActive);
                 
                 });
             };
             
             fn.changed = function(index){
                 if(prevActive > index){
                     fn.slideBtn(index-1);
                 }else{
                     fn.slideBtn(index);
                 }
                 $btnList.eq(index).addClass("active").siblings().removeClass("active");
                 $pageItem.eq(index).addClass("active").siblings().removeClass("active");
                 prevActive = index;
             };
             
             fn.btn = function(){
                 $btnWrap.on("click","li",function(){
                     currActive = $(this).index();
                     fn.changed(currActive);
                 });
             };
        
        fn.slideBtn = function(index){
            currLeft = index;
            if(index < showBtn-1 ){
                currLeft = 0;
            }
            
            if(maxLen-index < showBtn ){
                currLeft = maxLen - showBtn;
            }
            $btnWrap.stop(true,true).animate({"left":currLeft*btnWidth*(-1)},500);
        };
                 
           return fn;
       }
       
        
        
    });
    
            
        </script>
    </html>
  • 相关阅读:
    Mybatis(二) Mybatis通用的写法
    Mybatis(一)Mybatis相关概念
    NodeJS添加Jquery依赖
    安卓、IOS端AEC密钥加密 Java端密钥解密通用实现(16进制表现形式)
    关于博客园首页及详情页美化的代码
    MD5用户密码加密工具类 MD5Util
    .Net Core跨平台应用研究-CustomSerialPort(增强型跨平台串口类库)
    FtpServer穿透内网访问配置踩坑笔记
    .Net Core之编辑json配置文件
    玩转MQTT-阿里云之MQTT使用(下)
  • 原文地址:https://www.cnblogs.com/muamaker/p/6232866.html
Copyright © 2020-2023  润新知