Javascript 一页中有两个数据表-如何仅滚动其中一个表?
我在一个页面中有两个数据表,初始化如下:Javascript 一页中有两个数据表-如何仅滚动其中一个表?,javascript,jquery,scroll,datatable,Javascript,Jquery,Scroll,Datatable,我在一个页面中有两个数据表,初始化如下: //First table sListTable = $('#subListTable').dataTable({ "sScrollY": "265px", "sDom": "frtiS", "bDeferRender": true, "aaSorting": [[ 1, "desc" ]],
//First table
sListTable = $('#subListTable').dataTable({
"sScrollY": "265px",
"sDom": "frtiS",
"bDeferRender": true,
"aaSorting": [[ 1, "desc" ]],
"aoColumnDefs": [
{"sType": "date", "aTargets": [1]}
]
});
//Second table
pListTable = $('#projListTable').dataTable({
"sScrollY": "265px",
"sDom": "frtiS",
"bDeferRender": true,
"aaSorting": [[ 1, "desc" ]],
"aoColumnDefs": [
{"sType": "date", "aTargets": [1]}
]
});
如您所见,我为每个表使用一个单独的变量,每个表都有自己的唯一ID
现在我有了一个函数,可以自动高亮显示“projListTable”表中的一行,并根据某个事件将该行滚动到视图中:
//Auto-scroll to row with 'row_selected' class
var container = $('#projListTable,div.dataTables_scrollBody');
var scrollTo = $('#projListTable tbody tr.row_selected');
container.scrollTop(scrollTo.offset().top - container.offset().top);
这个自动滚动脚本工作正常,但问题是它也会滚动另一个表(sListTable),即使上面特别指定了“projListTable”
我需要做什么,以便只有“projListTable”才受container.scrollTop()调用的影响?我有一种感觉,这是因为他们共享“div.dataTables\u scrollBody”,但我不知道如何处理它。非常感谢您的帮助
下面是显示问题的实际代码:
您只需选择目标表
。dataTables\u scrollBody
,使用以下方法:
变量容器=$(“#项目列表”);对吧?没有。当我将自动滚动更改为该选项时,它完全停止工作。添加了一个显示问题的示例链接。
var container = $('#projListTable').closest('.dataTables_scrollBody');
var scrollTo = $('#projListTable tbody tr.row_selected');
container.scrollTop(0);
container.scrollTop(scrollTo.offset().top - container.offset().top);