Javascript 固定了可滚动div中的标题表,其大小等于';表头列宽';和';内容列宽度';
我有一个大桌子在一个div里面,上面有scroll-x和scroll-y。我想要的是,在y轴上滚动时,使表格标题固定 我可以将表格标题设置在div的顶部,但它与溢出-x无关。而且表头列宽需要与内容的列相同。 我怎样才能做到这一点呢?这里是一个演示 我研究了您的问题并找到了解决方案[我相信没有纯css解决方案存在。!]。另外,非常欢迎您对此进行优化Javascript 固定了可滚动div中的标题表,其大小等于';表头列宽';和';内容列宽度';,javascript,jquery,css,html,Javascript,Jquery,Css,Html,我有一个大桌子在一个div里面,上面有scroll-x和scroll-y。我想要的是,在y轴上滚动时,使表格标题固定 我可以将表格标题设置在div的顶部,但它与溢出-x无关。而且表头列宽需要与内容的列相同。 我怎样才能做到这一点呢?这里是一个演示 我研究了您的问题并找到了解决方案[我相信没有纯css解决方案存在。!]。另外,非常欢迎您对此进行优化 //Script <script> var maxw = 0; $(document).ready( function () {
//Script
<script>
var maxw = 0;
$(document).ready( function () {
$('.Top2').bind('scroll', function(){
$(".Top1").scrollLeft($(this).scrollLeft());
});
var len = $("table.head > tbody").find("> tr:first > td").length;
for(i=0; i<len;i++) {
maxval(i);
maxw = 0 ;
}
});
function maxval(index) {
$("table").find('tr').each(function (i, el) {
var $tds = $(this).find('td');
w = $tds.eq(index).width();
if(w>maxw){
maxw = w; //Get max width for the column i
}
});
myf(maxw,index); // Set the css according to 'td'
}
function myf(maxw,index){
$("table").find('tr').each(function (i, el) {
var $tds = $(this).find('td');
$tds.eq(index).css("padding-right", maxw- ($tds.eq(index).width())); // patch : Is any other way?
});
}
</script>
//脚本
var-maxw=0;
$(文档).ready(函数(){
$('.Top2').bind('scroll',function(){
$(“.Top1”).scrollLeft($(this.scrollLeft());
});
var len=$(“table.head>tbody”).find(“>tr:first>td”).length;
对于(i=0;imaxw){
maxw=w;//获取列i的最大宽度
}
});
myf(最大值,索引);//根据“td”设置css
}
函数myf(maxw,索引){
$(“表”).find('tr')。每个(函数(i,el){
var$tds=$(this.find('td');
$tds.eq(index).css(“右填充”,maxw-($tds.eq(index.width()));//补丁:还有其他方法吗?
});
}
同时检查我的更新。这是一个演示
我研究了您的问题并找到了解决方案[我相信没有纯css解决方案存在。!]。另外,非常欢迎您对此进行优化
//Script
<script>
var maxw = 0;
$(document).ready( function () {
$('.Top2').bind('scroll', function(){
$(".Top1").scrollLeft($(this).scrollLeft());
});
var len = $("table.head > tbody").find("> tr:first > td").length;
for(i=0; i<len;i++) {
maxval(i);
maxw = 0 ;
}
});
function maxval(index) {
$("table").find('tr').each(function (i, el) {
var $tds = $(this).find('td');
w = $tds.eq(index).width();
if(w>maxw){
maxw = w; //Get max width for the column i
}
});
myf(maxw,index); // Set the css according to 'td'
}
function myf(maxw,index){
$("table").find('tr').each(function (i, el) {
var $tds = $(this).find('td');
$tds.eq(index).css("padding-right", maxw- ($tds.eq(index).width())); // patch : Is any other way?
});
}
</script>
//脚本
var-maxw=0;
$(文档).ready(函数(){
$('.Top2').bind('scroll',function(){
$(“.Top1”).scrollLeft($(this.scrollLeft());
});
var len=$(“table.head>tbody”).find(“>tr:first>td”).length;
对于(i=0;imaxw){
maxw=w;//获取列i的最大宽度
}
});
myf(最大值,索引);//根据“td”设置css
}
函数myf(maxw,索引){
$(“表”).find('tr')。每个(函数(i,el){
var$tds=$(this.find('td');
$tds.eq(index).css(“右填充”,maxw-($tds.eq(index.width()));//补丁:还有其他方法吗?
});
}
同时检查我的更新。发布您的源代码,以便我们更好地了解您的需求。很抱歉,这是一个大代码。我需要编辑很多,使它更容易张贴在这里。我现在将编辑这个问题。发布你的源代码,让我们更好地了解你想要什么。很抱歉,这是一个大代码。我需要编辑很多,使它更容易张贴在这里。我现在编辑这个问题。