el-table表格自动滚动,鼠标移入暂停滚动,移出开始滚动

 前端新手的个人笔记————————————————————————————————

代码:

data(){
  return{
      timer: null,
  }
},
methods:{
  scrollTable() {
      // 在执行新的计时器前将之前的计时器清除
      if (this.timer) clearInterval(this.timer);
      let status = true;
      // 获取表格滚动区域的dom
      const scrollDom = this.$refs.table1.bodyWrapper
      // 增加监听事件鼠标移入停止滚动
      scrollDom.addEventListener('mouseover', () => {
        status = false;
      });
      // 鼠标移出恢复滚动
      scrollDom.addEventListener('mouseout', () => {
        status = true;
      });
      // 设置定时器
      this.timer = setInterval(() => {
        if (status) {
          // 设置每次滚动的像素
          scrollDom.scrollTop += 1;
          // 当滚动到底部时修改scrollTop回到顶部
          if ((scrollDom.scrollHeight - (scrollDom.clientHeight + scrollDom.scrollTop)) < 1) {
            scrollDom.scrollTop = 0;
          }
        }
        //控制速度
      }, 40);
    },
},
mounted(){
   this.scrollTable(),
},
destroyed() {
      window.removeEventListener("resize", () => {
        myChart.resize();
      });
      // 组件卸载记得清除计时器
      if (timer) clearInterval(timer);
      timer = null;
      //移除监听事件
      scrollDom.removeEventListener('mouseover');
 },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值