DataTables能实现移动端的下拉加载吗?可以,需要借助一下Scroller插件

简介: DataTables能实现移动端的下拉加载吗?可以,需要借助一下Scroller插件

一、


通常情况下,DataTables(Datatables是一款具有高级交互功能的jQuery表格插件)只用来展示PC端Web网页的大批量数据;但如果你想在移动端使用DataTables的话,也是可以的。因为DataTables能够满足移动端表格插件的最基本的要求——支持下拉加载!


我们先来看一下效果图,第一张为数据加载前的样子——表头为商品、单号等,内容区域被密密的斜线填充着(就好像沥沥淅淅的小雨,被风吹斜了腰身):




第一张为下拉加载数据后的样子——密密斜织的线条不见了,取而代之的是需要展示的数据:


image.png

二、


是不是感觉还不错?DataTables下拉刷新的功能怎么实现呢?


要想使DataTables具有下拉刷新的功能,我们需要借助一款插件——Scroller(滚轮)——一款专门为DataTables量身定做的渲染插件,允许DataTables在整个屏幕上快速地呈现大批量数据。


我们来看一下实现过程:


第一步,在页面中添加Scroller插件的CSS文件和JavaScript文件:


<link href="https://cdn.datatables.net/scroller/1.5.1/css/scroller.bootstrap.min.css" rel="stylesheet" />

<script type="text/javascript" src="https://cdn.datatables.net/scroller/1.5.1/js/dataTables.scroller.min.js"></script>


第二步,在DataTables初始化的时候添加Scroller支持:

$("#myTable").DataTable({
  "processing": false,//是否显示处理状态(排序的时候,数据很多耗费时间长的话,也会显示这个)
    "serverSide": true,// 服务器端端分页
    "paging": true,// 表格允许分页
    "lengthChange": false,//不允许用户改变表格每页显示的记录数
    "info": false,//不显示表格的信息
    "searching": false,//不允许Datatables开启本地搜索
    "deferRender" : true,// 控制表格的延迟渲染,可以提高初始化的速度
  "scrollX" : true,// 允许表格横向滚动
  "stateSave": true,// 保存状态 - 在页面重新加载的时候恢复状态(页码等内容)
  "scrollCollapse" : true,// 当显示更少的记录时,允许表格减少高度
  "scrollY":        200,// 行数的累加高度超过200px时允许垂直滚动
    "scroller":       true,// 开启下拉加载功能
   "ajax": {
           "url": "otm/order/list?p=self",
           "type": "POST",
       },
  "columnDefs" : [// 定义列
      {
        targets : 0,
        data : "scode",
        title : "商品",
      }, 
      {
        targets : 1,
        "data" : "id",
        title : "单号",
      },
      // 其他列省略
      ],
});


三、


Scroller是怎么实现DataTables的下拉加载呢?


在DataTables初始化的时候,我们可以看到以下4个重要的参数,它们与Scroller息息相关:


$('#myTable').dataTable( {
    ajax:           '/api/data',
    scrollY:        200,
    deferRender:    true,
    scroller:       true
} );


其中scrollY:200定义了垂直方向上允许出现滚动条的高度,也就是说,当显示的数据行数累加的高度超出200px时,DataTables就会出现垂直滚动条,以便用户通过滚动条来加载更多的数据。在PC端的Web网页上,滚动条一般是可见的,而在移动端的Web网页上,滚动条是默认隐藏的,但可以通过滑动屏幕来替代滚动条的功能;Scroller的下拉刷新就利用这一点,它在屏幕上绘制一个高度为scrollY指定高度的容器,这个容器给用户的视觉印象是整个DataTables表格都是可见的;然后,当用户滚动当前容器时,Scroller就会自动触发DataTables的分页功能,从而获取更多数据。


四、


Scroller具有以下优良的特征:


快速,Scroller的目标就是使DataTables在渲染大型数据集时更快;

兼容,Scroller能和deferRender(延迟渲染)完美协作,从而获得更快的速度;

方便,Scroller能和stateSave(保存状态)集成,从而在页面重载时保存之前滚动条的位置。

综上所述,Scroller是一款优秀的插件。如果你要在移动端使用DataTables来展示大批量数据时,请了解一下Scroller吧!



相关文章
|
机器学习/深度学习 Web App开发 算法
如何寻找论文及其相关代码?
如何寻找论文及其相关代码?
1794 1
|
2月前
|
存储 运维 监控
《时序数据监控平台优化指南:从查询超时到秒级响应,指标下的存储与检索重构实践》
本文聚焦企业级时序数据监控平台优化,针对InfluxDB单节点在2500台设备、2亿条日均数据下的查询超时、存储成本失控、降采样数据丢失、多维度查询卡顿等问题,提出“分层存储+预计算降采样+索引重构”方案。按数据热度分热(7天内,Redis+SSD)、温(7-90天,SSD)、冷(90天以上,OSS)三层存储,搭配生命周期管理服务实现数据流转;按指标类型定制预计算聚合规则,减少查询计算量;通过复合哈希索引、标签字典编码、bitmap索引优化多维度检索。
150 3
|
前端开发 JavaScript 算法
ACEeditor使用手册(三)
ACEeditor使用手册(三)
470 0
|
5月前
|
前端开发 JavaScript Java
如何开发项目管理系统中的统计分析看板?(附架构图+流程图+代码参考)
本文介绍如何通过项目管理系统的统计分析看板,提升项目管理效率与决策能力。内容涵盖客户分析、财务收支及项目综合看板的设计与实现,提供技术架构、业务流程和代码示例,帮助开发者快速构建数据驱动的项目管理平台。
|
5月前
|
负载均衡 Linux 定位技术
做网站第一步:如何选择最适合的云服务器配置?
在互联网世界中,选择一台合适的云服务器对建站至关重要。它不仅影响网站性能和用户体验,还关系到运营成本。面对众多云服务商和产品,需从网站规模、技术架构、地理位置等多方面考量,明确需求,精准选型。无论是个人博客、企业官网,还是电商平台,都应找到匹配自身发展的服务器类型。当前各大云服务商也推出多项优惠活动,助力中小企业快速起步。通过试用体验,更易找到“本命”服务器。愿你拨开迷雾,找到最适合自己的那一款,开启数字世界的精彩篇章。
|
应用服务中间件 API nginx
一个超长时间的http api 的 nginx 超时错误 java.io.IOException: unexpected end of stream on Connection
一个长时间的http api 的 nginx 超时错误 直接访问IP是OK的。但是经过了中间一台域名机子,配置了nginx (基本上所有的超时时间timeout配置项都配置了足够的时间)的proxy_pass到这个IP上。
7781 0
|
9月前
|
Ubuntu 安全 调度
在Ubuntu下安装Debian包:dpkg与apt命令的深度解构。
安装Debian包的知识,就像掌握了海上的航行技术,虽然起初会让人感到陌生甚至困惑,但只要你积累熟练,就能在Ubuntu的世界里畅游无阻。就像每一位成功的航海家,掌握好这些工具,去探索属于你的Ubuntu新世界吧!
353 21
|
弹性计算 异构计算
阿里云gpu服务器能否租用一周?租用一周需要多少钱?
阿里云gpu服务器能否租用一周?当然是可以的,至于价格,需要看所选gpu云服务器的具体实例规格和配置,短期租用可以选择租用一周或者月付,月付最长可以选择9个月,如果想长期使用,可以选择年付,年付最长可以选择1年。下面小编就为大家分享一下阿里云gpu云服务器租用一周和月付及年付的价格。
3128 0
阿里云gpu服务器能否租用一周?租用一周需要多少钱?
|
JavaScript 前端开发 测试技术
Datatables展示数据(表格合并、日期计算、异步加载数据、分页显示、筛选过滤)
Datatables展示数据(表格合并、日期计算、异步加载数据、分页显示、筛选过滤)
679 0
Datatables展示数据(表格合并、日期计算、异步加载数据、分页显示、筛选过滤)
|
Ubuntu C语言
Ubuntu升级Cmake、gcc、g++
以上就是在Ubuntu中升级Cmake、gcc、g++的步骤。
936 2