element-ui使el-table滚动展示

以前手写过一个向上滚动特效,在这里https://www.cnblogs.com/enhengenhengNymph/p/15475900.html
这次由于事先用el-table写好了,所以在不动页面的情况下进行滚动,
效果就是数据向上滚动,鼠标滑上停止,滑出滚动
页面样式调整穿透修改

      >>>.el-table__body-wrapper
        height: 299px; // 因为这个样式本来就有超出隐藏,所以这个在页面上设置一个适合的高度就好了
        .elbodyhun // 这个是-30px是每行的高度,依靠这个样式向上移动
          transform: translateY(-30px);
          transition: all 0.5s ease-in-out;
        scrollAnimate() {
          if(this.tableData.length>this.PageSize){// 超出最大显示范围在进行滚动
            // 这个是获取到所有行外围盒子标签 获取的这么麻烦是我这个页面有两个表格,所以从HistoricalWarninGcentent进行获取的
            let thtml = document.getElementsByClassName("HistoricalWarninGcentent")[0].getElementsByClassName("el-table__body-wrapper")[0].getElementsByClassName("el-table__body")[0]
            this.alarmTimer = setInterval(()=>{
              // 定时器加入样式,让其向上滚动
              thtml.className += ' elbodyhun'
              setTimeout(() => {
                  this.tableData.push(this.tableData[0])
                  this.tableData.shift()
                  thtml.classList.remove("elbodyhun");
              }, 500)
            }, 1500);

            // 鼠标滑到表格上停止定时器滚动
            thtml.onmouseover=()=>{
              clearInterval(this.alarmTimer)
            }
            // 离开重新启动定时器
            thtml.onmouseout=this.scrollAnimate
          }
        },
posted @ 2022-08-10 16:42  嗯哼Nymph  阅读(2029)  评论(0编辑  收藏  举报