欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

简单实现Table固定表头

程序员文章站 2022-06-02 11:30:06
...

下面是本人写的很简单的固定TABLE头部的插件,他使用动画来帮你固定表头,从而在保持表头格式的同时,不会损耗太多性能

github地址:https://github.com/KenyeeC/eleFixed/edit/master/README.md

有用就给个start呗

介绍

eleFixed是一款非常简单的使用动画来固定元素的插件(最常见的作用就是固定table的thead)

它可以同时固定多个HTMLElement而不用额外监听多个事件,而且你也可以随时删除某一个监听对象或者直接把eleFixed从你的网页中移除

使用

当你引入eleFixed.js的时候,它就已经帮你在全局定义好了eleFixed对象并监听scroll事件(仅仅一个);

以下为全局eleFixed对象的描述:
eleFixed对象 描述
targets Array,用来存放多个需要固定的target对象,target对象格式为
push Function,接受一个target对象并推送元素到targets数组中
delete Function,从targets中删除指定的HTMLElement,只需要传入需要删除的HTMLElement对象
distory Function,移除eleFixed的监听事件、并删除eleFixed对象
eleFixed.push需要传入的对象(targrt)描述:
target对象 描述
target HTMLElement,接收你想固定的元素,比如 document.getElementsByTagName(‘thead’)[0]
offsetTop Number,此元素距离顶部多少像素时开始固定在顶部, 比如 200 (无需单位)
插入target:
    <table class="table">
        <thead>
            <!-- some titles here -->
        </thead>
        <tbody>
            <!-- some elements here -->
        </tbody>
    </table>
    <script src="./eleFixed.min.js"></script>
    <script>
        // add an instance
        eleFixed.push({
            target: document.getElementsByTagName('thead')[0], // it must be a HTMLElement
            offsetTop: 210 // height from window offsetTop
        })
    </script>
效果预览:

简单实现Table固定表头

删除元素:
<script>
    // delete an instance
    eleFixed.delete(document.getElementsByTagName('thead')[0])
</script>
移除eleFixed:
<script>
    // distory eleFixed
    eleFixed.distory()
</script>