表格内容滚动

表格头固定

         <table class="top">
            <thead style="background:#0F2395;">
              <tr>
                <th>序号</th>
                <th>分类名称</th>
                <th>表头名称</th>
                <th>损伤类型</th>
                <th>损伤程度</th>
                <th>置信度</th>
                <th>置信程度</th>
              </tr>
            </thead>
          </table>
          <div class="scroll-box">
            <table class="tab-scroll">
              <tbody>
                <tr v-for="(item, index) in listData4" :key="index">
                  <td>{{ item.xh }}</td>
                  <td>{{ item.flmc }}</td>
                  <td>{{ item.btmc }}</td>
                  <td>{{ item.sslxmc }}</td>
                  <td>{{ item.sscdsj }}</td>
                  <td>{{ item.zxdsj }}</td>
                  <td>{{ item.zxcd }}</td>
                </tr>
              </tbody>
            </table>
          </div>

写方法

 table() {
      // window.onload = function () {
        var scrollTab = document.getElementsByClassName('tab-scroll')[0];//滚动的表格
        var tbody = scrollTab.getElementsByTagName('tbody')[0];//tbody

        var speed = scrollTab.getElementsByTagName('td')[0].offsetHeight + 1;//行高(滚动速度)	 加上表格边框	
        var count = 0;//要追加到表格底部的行索引 	
        setInterval(scrollTop, 1500);//每隔1.5秒滚动一次

        //实现表格向上滚动
        function scrollTop() {
          var t = scrollTab.offsetTop;//top值
          scrollTab.style.top = t - speed + 'px';//滚动

          var trs = tbody.getElementsByTagName('tr');//每次都重新取出所有内容行				
          var newTr = trs[count].cloneNode(true);//复制行,得到新的行对象
          //将滚动的行追加到表格底部
          tbody.appendChild(newTr);
          count++;
        }
      // };
    },

css样式

 .main .fif_child {
      width: 721.7px;
      height: 295.77px;
      background: url(../assets/img/login/n_bg.png) no-repeat;
      background-size: 100% 100%;
      margin: 15px 20px 0 20px;

      p {
        font-size: 14px;
        font-weight: bold;
        margin-left: 5px;
        margin-top: 6px;
        margin-bottom: 10px;
      }

      table {
        width: 710px;
        border: 2px solid #44BDF1;
        color: #fff;
        border-collapse: collapse;
        font-size: 0.8rem;
        margin-left: 5px;
      }

      th,
      td {
        height: 35px;
        line-height: 35px;
        border: 2px solid #44BDF1;
        color: #fff;
        text-align: center;
        width: 38px;
      }

      .scroll-box {
        height: 218px;
        width: 715px;
        overflow: hidden;
        position: relative;
      }

      .tab-scroll {
        width: 710px;
        position: absolute;
        left: 0;
        top: 0;
        transition: all 1s;
        border-top: none;
      }

      .tab-scroll tr td {
        border-top: none;
      }

      .tab-scroll tr:nth-child(odd) {
        background-color: #1A46A4;
      }

      .tab-scroll tr:nth-child(even) {
        background-color: #2B64CE;
      }

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现表格内容滚动,表头不变,可以采用固定表头的方式,即将表头放在一个独立的元素中,表格内容放在另一个元素中,通过设置表格内容元素的样式属性 overflow: auto; 并固定表头元素的位置,来实现表格内容滚动。 具体步骤如下: 1. HTML 结构 ``` <div class="table-container"> <table> <thead> <tr> <th>表头1</th> <th>表头2</th> <th>表头3</th> </tr> </thead> <tbody> <tr> <td>内容1-1</td> <td>内容1-2</td> <td>内容1-3</td> </tr> <tr> <td>内容2-1</td> <td>内容2-2</td> <td>内容2-3</td> </tr> ... </tbody> </table> </div> ``` 2. CSS 样式 ``` .table-container { position: relative; overflow: hidden; height: 300px; /* 设置表格内容的高度 */ } table { width: 100%; border-collapse: collapse; } thead th { background-color: #eee; position: sticky; top: 0; } tbody { overflow-y: auto; height: calc(100% - 30px); /* 30px = 表头的高度 */ } ``` 3. JavaScript 代码 ``` // 获取表格内容元素和表头元素 var tableContainer = document.querySelector('.table-container'); var tableHead = document.querySelector('thead'); var tableBody = document.querySelector('tbody'); // 监听表格内容滚动事件 tableBody.addEventListener('scroll', function() { // 获取表格内容滚动距离 var scrollTop = tableBody.scrollTop; // 将表头固定在顶部 tableHead.style.transform = 'translateY(' + scrollTop + 'px)'; }); ``` 这样,就实现了表格内容滚动,表头不变的效果。需要注意的是,这种方式只适用于表格内容较小的情况,如果表格内容非常大,可能会影响性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值