自定义表格 处理滚动body时,header同步滚动


项目中一个模块的表格,element table满足不了,就自己写了一个,记录一下
当滚动table body时,需要table header与右侧悬浮的table column同时上下/左右滚动,使用transform中的translate

autoScroll () {
  let header = document.querySelector('.cycle-header')
  let body = document.querySelector('.cycle-body')
  let right = document.querySelector('.cycle-list')

  if (!header || !body) return

  body.onscroll = () => {
    const scrollLeft = body.scrollLeft;
    const scrollTop = body.scrollTop;
    const offsetWidth = body.offsetWidth;

    header.style.transform = `translateX(-${scrollLeft}px)`;
    right.style.transform = `translateY(-${scrollTop}px)`;
  }
}

备注:关于header与悬浮列的滚动,例如cycleHeader为表头组件,但跟随body滚动时,组件会滚动出table,如下图

解决办法为使用一个div将header包含,然后设置这个parent div为overflow: hidden即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值