ElementUI Table表格自動(dòng)滾動(dòng)

/**
 * 表格內(nèi)筒自動(dòng)滾動(dòng)方法
 * 2022年7月7日 17:15:13
 * @param {Object} table el-table的ref對(duì)象
 * @param {Number} speed 表格滾動(dòng)速度
 */

export function tableScroll(table, speed = 30) {
  // 拿到表格中承載數(shù)據(jù)的div元素
  const divData = table.bodyWrapper;

  let timer;

  const startScroll = () => {
    // 拿到元素后,對(duì)元素進(jìn)行定時(shí)增加距離頂部距離,實(shí)現(xiàn)滾動(dòng)效果(此配置為每100毫秒移動(dòng)1像素)
    clearInterval(timer);
    timer = setInterval(() => {
      // 元素自增距離頂部1像素
      divData.scrollTop += 1;
      // 判斷元素是否滾動(dòng)到底部(可視高度+距離頂部=整個(gè)高度)
      if (divData.clientHeight + divData.scrollTop + 1 > divData.scrollHeight) {
        // 重置table距離頂部距離
        divData.scrollTop = 0;
      }
    }, speed);
  };

  startScroll();

  //鼠標(biāo)移入
  divData.onmouseover = () => {
    clearInterval(timer);
  };

  //鼠標(biāo)移出
  divData.onmouseout = () => {
    clearInterval(timer);
    startScroll();
  };

  //窗口發(fā)生改變
  window.onresize = () => {
    return (() => {
      window.screenHeight = document.body.clientHeight;
      document.clientHeight = window.screenHeight;
    })();
  };
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容