2019 年 6 月 21 日星期五
滚动至顶部
默认情况下,DataTable 的分页控件(下一页、上一页和页码按钮)位于表格下方。如果您有很多行无法容纳在单个页面上,当页面更改时,用户必须向上滚动到顶部才能看到前几行。在这篇博文中,我推出一个非常简单的功能插件,称为 _scrollToTop_,启用后,每当页面更改时,它都会自动滚动到表格的头部。
示例如下。向下滚动到分页按钮,然后单击一个按钮即可查看它。
姓名 | 职位 | 办公地点 | 工资 |
---|---|---|---|
Tiger Nixon | 系统架构师 | 爱丁堡 | $320,800 |
Garrett Winters | 会计 | 东京 | $170,750 |
Ashton Cox | 初级技术作者 | 旧金山 | $86,000 |
Cedric Kelly | 高级 Javascript 开发人员 | 爱丁堡 | $433,060 |
Airi Satou | 会计 | 东京 | $162,700 |
Brielle Williamson | 集成专家 | 纽约 | $372,000 |
Herrod Chandler | 销售助理 | 旧金山 | $137,500 |
Rhona Davidson | 集成专家 | 东京 | $327,900 |
Colleen Hurst | Javascript 开发人员 | 旧金山 | $205,500 |
Sonya Frost | 软件工程师 | 爱丁堡 | $103,600 |
Jena Gaines | 办公室经理 | 伦敦 | $90,560 |
Quinn Flynn | 支持主管 | 爱丁堡 | $342,000 |
Charde Marshall | 区域主管 | 旧金山 | $470,600 |
Haley Kennedy | 高级营销设计师 | 伦敦 | $313,500 |
Tatyana Fitzpatrick | 区域主管 | 伦敦 | $385,750 |
Michael Silva | 营销设计师 | 伦敦 | $198,500 |
Paul Byrd | 首席财务官 (CFO) | 纽约 | $725,000 |
Gloria Little | 系统管理员 | 纽约 | $237,500 |
Bradley Greer | 软件工程师 | 伦敦 | $132,000 |
Dai Rios | 人事主管 | 爱丁堡 | $217,500 |
Jenette Caldwell | 开发主管 | 纽约 | $345,000 |
Yuri Berry | 首席营销官 (CMO) | 纽约 | $675,000 |
Caesar Vance | 售前支持 | 纽约 | $106,450 |
Doris Wilder | 销售助理 | 悉尼 | $85,600 |
Angelica Ramos | 首席执行官 (CEO) | 伦敦 | $1,200,000 |
Gavin Joyce | 开发人员 | 爱丁堡 | $92,575 |
Jennifer Chang | 区域主管 | 新加坡 | $357,650 |
Brenden Wagner | 软件工程师 | 旧金山 | $206,850 |
Fiona Green | 首席运营官 (COO) | 旧金山 | $850,000 |
Shou Itou | 区域营销 | 东京 | $163,000 |
Michelle House | 集成专家 | 悉尼 | $95,400 |
Suki Burks | 开发人员 | 伦敦 | $114,500 |
Prescott Bartlett | 技术作者 | 伦敦 | $145,000 |
Gavin Cortez | 组长 | 旧金山 | $235,500 |
Martena Mccray | 售后支持 | 爱丁堡 | $324,050 |
Unity Butler | 营销设计师 | 旧金山 | $85,675 |
Howard Hatfield | 办公室经理 | 旧金山 | $164,500 |
Hope Fuentes | 秘书 | 旧金山 | $109,850 |
Vivian Harrell | 财务主管 | 旧金山 | $452,500 |
Timothy Mooney | 办公室经理 | 伦敦 | $136,200 |
Jackson Bradshaw | 董事 | 纽约 | $645,750 |
Olivia Liang | 支持工程师 | 新加坡 | $234,500 |
Bruno Nash | 软件工程师 | 伦敦 | $163,500 |
Sakura Yamamoto | 支持工程师 | 东京 | $139,575 |
Thor Walton | 开发人员 | 纽约 | $98,540 |
Finn Camacho | 支持工程师 | 旧金山 | $87,500 |
Serge Baldwin | 数据协调员 | 新加坡 | $138,575 |
Zenaida Frank | 软件工程师 | 纽约 | $125,250 |
Zorita Serrano | 软件工程师 | 旧金山 | $115,000 |
Jennifer Acosta | 初级 Javascript 开发人员 | 爱丁堡 | $75,650 |
Cara Stevens | 销售助理 | 纽约 | $145,600 |
Hermione Butler | 区域主管 | 伦敦 | $356,250 |
Lael Greer | 系统管理员 | 伦敦 | $103,500 |
Jonas Alexander | 开发人员 | 旧金山 | $86,500 |
Shad Decker | 区域主管 | 爱丁堡 | $183,000 |
Michael Bruce | Javascript 开发人员 | 新加坡 | $183,000 |
Donna Snider | 客户支持 | 纽约 | $112,000 |
用法
要使用 _scrollToTop_ 插件,首先在其页面上包含其 JavaScript
JS
然后通过在 DataTables 初始化中指定 scrollToTop
选项来启用它
$('#myTable').DataTable({
scrollToTop: true
});
实现
实际的滚动位置移动操作非常简单!它会监听 draw
事件,并将文档的滚动位置移动到表格容器最上方。
api.on('page', function() {
setTimeout(function() {
$(document).scrollTop(
$(api.table().container()).offset().top
);
}, 10);
});
和往常一样,请将所有支持问题发布 到论坛中,或者如果你对该脚本有改进建议,请在下面发表评论。同样,如果你希望看到未来开发出任何特定的插件,请告诉我们!