Javascript jquery-数据表更改sScrollY

Javascript jquery-数据表更改sScrollY,javascript,jquery,datatable,Javascript,Jquery,Datatable,我想更改数据表可滚动区域的大小 $('#example').dataTable({"sScrollY": 100}); //some stuff.. $('#example').dataTable({"sScrollY":101}); //wrong: cannot reinitialize 要更改Y轴滚动,请使用以下代码 var objDataTable = $('#example').dataTable({"sScrollY" : 100}); objDataTable.fnSetting

我想更改数据表可滚动区域的大小

$('#example').dataTable({"sScrollY": 100});
//some stuff..
$('#example').dataTable({"sScrollY":101}); //wrong: cannot reinitialize

要更改Y轴滚动,请使用以下代码

var objDataTable = $('#example').dataTable({"sScrollY" : 100});
objDataTable.fnSettings().oScroll.sY = 101;
objDataTable.fnDraw();

我必须把两者结合起来才能解决我的问题。在我的例子中,我想进行无休止的分页,问题是在调整窗口大小后,dataTables_scrollBody的高度保持不变,因此我必须调整oScroll以使用滚动条显示表格数据。当窗口大小改变时,设置dataTables_scrollBody height将起作用,但在表格重画后,它将使用旧的sScrollY值回滚,Neo的代码修复了此问题。:)


如果您有多个数据表,您可以通过包装器访问每个数据表:

$('#example').dataTable({'sScrollY': 100});
//some stuff..
objDataTable.fnSettings().oScroll.sY = '225px';
$('#example_wrapper').children('.dataTables_scroll').children('.dataTables_scrollBody').css('height', '225px');

对于jquery.dataTables 1.10.x:

$('div.dataTables_scrollBody').height( 400 );

根据Datatables文档,这是推荐的方法。根据同一文档,不鼓励使用设置对象,因为它是内部对象。

我找到了解决方案/解决方法。请稍候,是否在页面调整大小后尝试调整datatable的大小?这不是你在上面的代码中要求的。你能确认这是你正在尝试做的吗?我正在尝试调整数据表的可滚动区域,而不是数据表本身的大小(顺便说一句:我找到了答案)。这会更改表的高度,而不是可滚动区域的高度。此方法会更改数据表可滚动区域的大小。当然,它也有一个副作用-它改变了整个表格本身的大小-但是给定的值将是可滚动区域的高度和整个表格的高度。你应该使用400px而不是仅仅400。你应该使用400px而不是仅仅400在我的情况下,这不起作用。nagy.zsolt.hun的解决方案成功了。
$('#example').dataTable({'sScrollY': 100});
//some stuff..
objDataTable.fnSettings().oScroll.sY = '225px';
$('#example_wrapper').children('.dataTables_scroll').children('.dataTables_scrollBody').css('height', '225px');
$('div.dataTables_scrollBody').height( 400 );