我在一个普通的 html 表中使用了 Allan Jardine 的KeyTable插件。这是一张大桌子,因此它可以水平和垂直滚动。我现在面临的问题是当焦点单元格看不见时它不会自动滚动(人们知道当前单元格,因为它有 .focus 类)。
使用键盘时如何使其自动滚动?
谢谢。
我个人为 jQuery 使用了不错的 scrollintoview 插件:https ://github.com/litera/jquery-scrollintoview 。
我自己的代码很好,但仍然不完美,它的工作方式如下:
var anim_element = $();
var keys = new KeyTable( {
"table": t,
focus: false,
});
keys.event.focus( null, null, function(cell, posx, posy) {
/* handler for focus events on all cells ... */
anim_element.stop();
var row = $(cell).parents("tr").first();
anim_element = row.stop().scrollintoview({ duration: 50, direction: 'y'});
});
请注意,您必须在下一个焦点事件开始时停止动画,但要这样做,您必须将前一个动画元素存储在某处。这是我的代码中仍然有点粗糙的部分。
希望能帮助到你。
尝试在 DataTable 选项中使用 scrollX 和 scrollY
scrollX: true, // For Horizontal Scrolling
scrollY: "600px" // For Verticle Scrolling (define the pixels when scrolling should Start)
参考 :
https://datatables.net/reference/option/scrollX
https://datatables.net/reference/option/scrollY
它对我有用。我还使用 KeyTable 检查了它,它工作正常。