jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了sticky – 如何:使用ONE表修复表头(没有jQuery)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道,在stackoverflow上至少有三十个这样的问题仍然存在,我无法做到这一点: @H_404_2@一个简单的表格,其中thead被固定/固定在顶部,并且tbody被滚动.
在过去的几天里我做了很多尝试,现在我最终在这里哭泣求救.

@H_404_2@解决方案应该适用于IE8和最新的FF,Chrome和&苹果浏览器.
与其他“可能的重复项如this one的区别在于我不想使用两个嵌套表或jQuery(普通的javascript然很好).

@H_404_2@演示我想要的东西:
http://www.imaputz.com/cssStuff/bigFourVersion.html.

@H_404_2@问题是它在IE中不起作用,我可以使用一些Js.

解决方法

好,我知道了: @H_404_2@您需要将表包装在两个DIV中:

<div class="outerDIV">
  <div class="innerDIV">
    <table></table>
  </div>
</div>
@H_404_2@DIV的CSS是这样的

.outerDIV {
  position: relative;
  padding-top: 20px;   //height of your thead
}
.innerDIV {
  overflow-y: auto;
  height: 200px;       //the actual scrolling container
}
@H_404_2@原因是,您基本上可以使内部DIV可滚动,并通过将THEAD粘贴到外部DIV来将THEAD拉出来.

@H_404_2@现在通过给它将thead粘贴到outerDIV上

table thead {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
@H_404_2@tbody也需要显示:block.

@H_404_2@现在@R_450_8462@滚动有效,但宽度完全是正确的.这是Javascript进来的.
您可以根据自己的喜好选择分配方式.我为自己给了表中固定宽度的TH并构建了一个简单的脚本,它取宽度并将它们分配给tbody中的第一个TD行.

@H_404_2@像这样的东西应该工作:

function scrollingTableSetThWidth(tablEID)
{
    var table = document.getElementById(tablEID);

    ths = table.getElementsByTagName('th');
    tds = table.getElementsByTagName('td');

    if(ths.length > 0) {
        for(i=0; i < ths.length; i++) {
            tds[i].style.width = getCurrentComputedStyle(ths[i],'width');
        }
    }
}

function getCurrentComputedStyle(element,attributE)
{
    var attributeValue;
    if (window.getComputedStylE) 
    { // class A browsers
        var styledeclaration = document.defaultView.getComputedStyle(element,null);
        attributeValue = styledeclaration.getPropertyValue(attributE);
    } else if (element.currentStylE) { // IE
        attributeValue = element.currentStyle[vclToCamelCases(attributE)];
    }
    return attributeValue;
}
@H_404_2@使用jQuery当然这将更容易,但是现在我不允许在这项目中使用第三方库.

大佬总结

以上是大佬教程为你收集整理的sticky – 如何:使用ONE表修复表头(没有jQuery)全部内容,希望文章能够帮你解决sticky – 如何:使用ONE表修复表头(没有jQuery)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。