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

简介: 版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/82287523 一、通常情况下,DataTables(Datatables是一款具有高级交互功能的jQuery表格插件)只用来展示PC端Web网页的大批量数据;但如果你想在移动端使用DataTables的话,也是可以的。
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/82287523

一、

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

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

这里写图片描述

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

二、

是不是感觉还不错?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吧!


相关文章:

DataTables的serverSide(服务器端分页)怎么实现?注,服务器端是Java程序

在这里插入图片描述

相关文章
|
9月前
touchslider.js插件高度自适应的解决方案
touchslider.js插件高度自适应的解决方案
32 0
|
5月前
|
移动开发 JavaScript 前端开发
jQuery实现多种切换效果的图片切换的五款插件
jQuery实现多种切换效果的图片切换的五款插件
40 0
|
8月前
vue2中v-drag如何实现拖拽(移动端)
vue2中v-drag如何实现拖拽(移动端)
218 0
|
10月前
Taro + Taro UI实现列表下拉刷新,无限滚动 #106
Taro + Taro UI实现列表下拉刷新,无限滚动 #106
750 0
|
11月前
原生瀑布流布局
原生瀑布流布局
|
JavaScript 前端开发 关系型数据库
7 种最棒的 Vue Loading 加载动画组件测评与推荐 - 穷尽市面上所有加载动画效果(Vue loader)类型 - 卡拉云
Vue Loading 加载动画组件 (Vue-loader) 看起来很简单不重要,实际上它是保证用户留存的关键一环。选择好 Loading 加载动画,用户留存率翻倍。本文介绍 7 种不同的加载动画 UI 效果(Vue loader),每一种都有其对应的使用场景。举例,旋转加载动画适合短时间加载,旋转加载还能更细分,比如在按钮上的旋转加载,适合提交数据的极短时间,旋转动画在全局的适合多表格数据加载,旋转动画图片可自定义的适合高度定制化的 APP / 网站等。再举例,进度条类的加载动画适合长时间加载,进度条类也可以更细分,比如有蒙层的进度条,有加载进度条带取消按钮,有加载进度条放在网页顶部,
1861 0
|
JavaScript 前端开发 开发者
js 功能-无缝滑动 |学习笔记
快速学习 js 功能-无缝滑动
82 0
|
Web App开发 JavaScript 前端开发
论Jquery瀑布流做成插件的想法
现实中很多问题的根源说白了就是经济问题。
|
缓存 JavaScript 前端开发
自制 移动端 纯原生 Slider滑动插件
在Google搜关键字“slider”或“swiper”能找到一大堆相关插件,自己造轮子是为了能更好的理解其中的原理。
自制 移动端 纯原生 Slider滑动插件