42、element表格内容溢出自动往上滚动,鼠标移入停止滚动,溢出继续滚动

vue模块,添加ref属性

<v-table ref="rollTable" style="margin: 0!important;" :loading="TBloading" :isIndex="true" :tableData="tableData"
                           :tableHead="tableHead"
                           :paginationShow="false"
                           :autoGN="true"
                  >
                    <template v-slot:wcName="slotData">
                      <span
                          :style="{color:slotData.data.is == '未完成' ? '#FF8A24' : '#00F69A'}">{{
                          slotData.data.is
                        }}</span>
                    </template>
                  </v-table>
infinitScroll() {
      // 拿到表格挂载后的真实DOM
      const table = this.$refs.rollTable.tableElement;
      // console.log(table,'table')
      // 拿到表格中承载数据的div元素
      const divData = table.bodyWrapper;
      divData.onmouseover = function () {
        clearInterval(rolltable);
      }; //鼠标移入,停止滚动
      divData.onmouseout = function () {
        start();
      }; //鼠标移出,继续滚动

      // 拿到元素后,对元素进行定时增加距离顶部距离,实现滚动效果(此配置为每1秒移动20像素)
      let rolltable;

      function start() {
        // 数据少于表格高度停止滚动
        if (divData.clientHeight >= divData.scrollHeight) {
          return;
        }
        rolltable = setInterval(() => {
          // 元素自增距离顶部1像素
          divData.scrollTop += 4;
          // 判断元素是否滚动到底部(可视高度+距离顶部=整个高度)
          if (divData.clientHeight + divData.scrollTop >= divData.scrollHeight) {
            // 重置table距离顶部距离
            divData.scrollTop = 0;
          }
        }, 100);
      };
      setTimeout(()=>{
        start();
      },100)
    }

在获取表格数据时引用以上方法

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值