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 HurstJavascript 开发人员旧金山$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 BruceJavascript 开发人员新加坡$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);
});

和往常一样,请将所有支持问题发布 到论坛中,或者如果你对该脚本有改进建议,请在下面发表评论。同样,如果你希望看到未来开发出任何特定的插件,请告诉我们!