html table移动但背景不动,利用js+css+html实现固定table的列头不动

话不多说,跟这小编来一起看下吧

1、CSS

#scroll_head {

position: absolute;

display: none;

}

2、Javascript

//该函数在上面一个table数据加载完成后调用

//把表头的宽度设置到会滚动的页头去

var copyWidth = function () {

var b = $('#data_tbody').prev().find('tr:last').find('th');

var c = $('#scroll_head').find('tr:last').find('th');

for (var i = 0; i < b.length; i++) {

var newWith = b.eq(i).width();

if ($.browser.msie) {

newWith += 1;

}

c.eq(i).width(newWith);

}

}

$(function () {

$(window).scroll(function () {

if ($('#data_tbody').length > 0) {

var thead = $('#data_tbody').prev();

var thOffset = thead.offset();

var scTop = $(window).scrollTop(); //滚动条相对top的位置

if (scTop > thOffset.top) { //滚动条滚到thead及以下的位置,用临时的thead代替显示

$('#scroll_head').css('display', 'block');

$('#scroll_head').offset({ top: scTop, left: thOffset.left });

}

else { //滚动条滚到thead上的位置,用table的原始thead显示

$('#scroll_head').css('display', 'none');

}

}

});

});

3、Html内容

@*thead内容及样式同scroll_head中的thead*@

@*thead使用深背景色,避免滚动时和tbody内容重叠显示*@

@*一级标题*@

一级1一级2一级3

@*二级标题*@

二级11二级12二级21二级22二级23二级23二级24二级25二级31二级32二级33二级33二级34二级35二级36

数据内容,在数据加载完成后调用copyWidth()函数解决兼容性

@*thead使用深背景色,避免滚动时和tbody内容重叠显示*@

@*一级标题*@

一级1一级2一级3

@*二级标题*@

二级11二级12二级21二级22二级23二级23二级24二级25二级31二级32二级33二级33二级34二级35二级36

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,同时也希望多多支持编程圈!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值