0

我在一个普通的 html 表中使用了 Allan Jardine 的KeyTable插件。这是一张大桌子,因此它可以水平和垂直滚动。我现在面临的问题是当焦点单元格看不见时它不会自动滚动(人们知道当前单元格,因为它有 .focus 类)。

使用键盘时如何使其自动滚动?

谢谢。

4

2 回答 2

1

我个人为 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'});
});

请注意,您必须在下一个焦点事件开始时停止动画,但要这样做,您必须将前一个动画元素存储在某处。这是我的代码中仍然有点粗糙的部分。

希望能帮助到你。

于 2013-08-15T16:57:20.857 回答
0

尝试在 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 检查了它,它工作正常。

于 2016-10-14T18:12:42.110 回答