Javascript 使表格的第一列固定在水平卷轴上

Javascript 使表格的第一列固定在水平卷轴上,javascript,jquery,css,html,Javascript,Jquery,Css,Html,谢谢你的阅读。我在div容器(div0)中有一个表。该表由数据填充并动态生成。因此,表格的高度和宽度不是固定的。外部div可以垂直和水平滚动以查看整个表格。现在的要求是,我需要水平地固定表的第一列的位置,即在滚动水平滚动条时,第一列应该是固定的,其余的应该是滚动的。只是需要一些关于这方面的建议,关于如何做到这一点 我正在考虑将div(div1)中的第一列内容(不能水平滚动)与单独div(div2)中的其他可滚动内容分开,这两个内容都放在一行两个tds的表中。现在,这种方法有两个问题,1当我向右滚

谢谢你的阅读。我在div容器(div0)中有一个表。该表由数据填充并动态生成。因此,表格的高度和宽度不是固定的。外部div可以垂直和水平滚动以查看整个表格。现在的要求是,我需要水平地固定表的第一列的位置,即在滚动水平滚动条时,第一列应该是固定的,其余的应该是滚动的。只是需要一些关于这方面的建议,关于如何做到这一点


我正在考虑将div(div1)中的第一列内容(不能水平滚动)与单独div(div2)中的其他可滚动内容分开,这两个内容都放在一行两个tds的表中。现在,这种方法有两个问题,1当我向右滚动时,div2的滚动条进入div0内部(考虑使用jqueryscrollbatr,但如何将其定位在div2外部)。第二个是两个div之间的对齐。

如果我了解你在寻找什么;不久前我也做了类似的事情

Html可能看起来像这样

<table border="1" id="header">
    <tr>
       <th></th>
       <th></th>
    </tr>
 </table>
 <div id="tableData">
   <table border="1" id="table">
       <td></td>
       <td></td>
   </table>
 </div>
JavaScript以确保标题与表数据对齐

$("#tableData").height(190);
$("#tableData").width(940);
for(var i=1;i<8;i++){
    if($("#header th:nth-child("+i.toString()+")").width() >= $("#table td:nth-child("+i.toString()+")").width())
        $("#table td:nth-child("+i.toString()+")").width($("#header th:nth-child("+i.toString()+")").width());
    else
        $("#header th:nth-child("+i.toString()+")").width($("#table td:nth-child("+i.toString()+")").width());
}
$("#tableData").width($("#table").width()+20);
if($("#table").height() <= $("#tableData").height()) 
   $("#tableData").height($("#table").height());
$(“#表格数据”)。高度(190);
$(“#tableData”)。宽度(940);
对于(var i=1;i=$(“#表td:n子项(“+i.toString()+”)).width())
$(“#表td:n子项(“+i.toString()+”)).width($(“#头th:n子项(“+i.toString()+”)).width());
其他的
$(“#头第th:n个子项(“+i.toString()+”)).width($(“#表td:n子项(“+i.toString()+”)).width());
}
$(“#表格数据”).width($(#表格”).width()+20);

if($(“#table”).height()我认为你自己的建议是可行的……你描述的问题有点不清楚……也许你可以在我们可以查看的地方添加一些示例代码或示例地址?请参阅以下链接:谢谢..但指向解决方案的链接不起作用..[请参阅此帮助][1][1]:@Neo如果回答了您的问题,请将此答案标记为已接受,否则请就未解决的问题提供反馈。谢谢
$("#tableData").height(190);
$("#tableData").width(940);
for(var i=1;i<8;i++){
    if($("#header th:nth-child("+i.toString()+")").width() >= $("#table td:nth-child("+i.toString()+")").width())
        $("#table td:nth-child("+i.toString()+")").width($("#header th:nth-child("+i.toString()+")").width());
    else
        $("#header th:nth-child("+i.toString()+")").width($("#table td:nth-child("+i.toString()+")").width());
}
$("#tableData").width($("#table").width()+20);
if($("#table").height() <= $("#tableData").height()) 
   $("#tableData").height($("#table").height());