slickgrid服务端分页原生解决办法

大家好~ 最近珊妹因为工作需要,又学习了一个前端表格插件哦!那就是slickgrid,老实说,珊妹也是第一次听说这个插件呢,因为这个插件使用的人实在是太少了,能查到的资料也少之又少呢,那就自己研究呗~

首先需要去官网下载他的组件包,https://github.com/6pac/SlickGrid/wiki

我下载的2.4.22版本,也是目前最新的版本了,下载下来的example文件下都是它的一些示例,可以参考。。。但是呢,大家都知道网站的分页,我们一定要做服务端分页吧,不然数据多的时候,页面就要崩溃了,然后珊妹就找这个插件支持的服务端分页,可是网上搜到的方法试了试,他们都写的是类似这种

但是官网给到的资料里并没有PagerSvr的控件,这就很头疼了,所以最后珊妹的解决办法就是,用这个插件展示数据,分页用js写的原生的分页,或许可能对这个插件也是不够了解,没有找到更合适的方法,所以欢迎大家提供方案,我们共同学习,共同进步~

以下是原生分页代码:

html:

<ul id='ul' style="float: left;">

        <li>首页</li>

        <li>上一页</li>

        <li class="firstpage"></li>

        <li class="secondpage"></li>

        <li class="thirdpage"></li>

        <li>下一页</li>

        <li>尾页</li>

</ul>

css:

#ul{font-size:0;font-family:Microsoft YaHei;display:inline-block;}

  #ul li{

          -moz-user-select:none;/*火狐*/

          -webkit-user-select:none;/*webkit浏览器*/

          -ms-user-select:none;/*IE10*/

          -khtml-user-select:none;/*早期浏览器*/

          user-select:none;

          list-style: none;float:left;padding:6px;font-size:13px;border:1px solid #ccc;margin:2px;cursor:pointer;color:#585858;}

  

  #div{width:100%;text-align: center;position:absolute;bottom:30px;}

  #ul .background{background:#39C6F4;color:white;border:1px solid #39C6F4;}

javascript:

<script>

  var ul = document.getElementById('ul');

  var li = ul.getElementsByTagName('li');

  li[2].className = 'background';

  var num01 = 1;

  var num02;/*总页数*/

  

//1 //首页的点击事件

      li[li.length-li.length].onclick = function(){

          Background(2);

          num01 = 1;

          content(num01);

      }

//2 //尾页的点击事件

      li[li.length-1].onclick = function(){

          Background(li.length-3);

          num01 = num02-(li.length-5);

          content(num01);

      }

//3 //上一页的点击事件

      li[li.length-(li.length-1)].onclick = function(){

 

          for(var j = 0;j<li.length-4;j++){

              if(li[j+2].className == 'background' && li[j+2].innerHTML != 1){

                  if(j+2 != li.length-(li.length-2)){

                      Background(j+1);

                  }

                  break;

              }

          }

          if(j+2 == li.length-(li.length-2)){

              num01 -- ;

              content(num01);

          }

      }

//4 下一页的点击事件

      li[li.length-2].onclick = function(){

          for(var j = 0;j<li.length;j++){

              if(li[j].className == 'background' && li[j].innerHTML < num02){  //* && 写最后一页的总数*/

                  if(j+1 < li.length-2){

                      Background(j+1);

                  }

                  break;

              }

          }

          if(num01 < num02){

            num01++;

          }

          if(j+1 == li.length-2){

              content(num01);

          }

      }        

//分页的点击事件

      for(var i = 0;i<li.length-4;i++){

          li[i+2].index = i+2;

          li[i+2].onclick = function(){

              Background(this.index);

          }

      }

//把所有的分页背景去掉,给指定的分页添加背景颜色

      function Background(num){

          for(var i = 0;i<li.length;i++){

              li[i].className = li[i].className.replace('background','');

              li[num].className = 'background';

          }

      }

// 给li 写内容

  content(num01);

  function content(number){

      for(var i=0;i<li.length-4;i++){

          li[i+2].innerHTML = number;

          number++;

      }

  }        

</script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值