vue实现滚动条联动(一个滚动条控制两个或多个)

两个表格需要进行比对,两个表格是互相独立的,如果滚动条不能同步,用户就要操作两个两次,体验不是太好,如下图:

因此想使两个滚动条同步,思路如下:

  1. 给两个表格定义ref(便于获取两个table对象)
  2. 使左侧的滚动条的scrollTop和scrollLeft 等同于右侧滚动条的scrollTop和scrollLeft
  3. 加载表格中的内容时,调用同步滚动条的方法

代码如下:

左侧的table定义ref:originTable
右侧的table定义ref:targetTable

加载内容的时候调用函数,函数代码如下

// 左右滚动条同步
syncScroll () {
    const originTable = this.$refs.originTable.bodyWrapper
    const targetTable = this.$refs.targetTable.bodyWrapper
    // console.log(originTable)
    // console.log(targetTable)
    originTable.addEventListener('scroll', () => {
        targetTable.scrollTop = originTable.scrollTop
        targetTable.scrollLeft = originTable.scrollLeft
    })
    targetTable.addEventListener('scroll', () => {
        originTable.scrollTop = targetTable.scrollTop
        originTable.scrollLeft = targetTable.scrollLeft
    })
},

这样就实现了两边表格的滚动条联动,有多个表格,也是同样的方法,使多个表格的scrollTop和scrollLeft相同就可以了。

相关推荐

  1. vue 滚动美化 css

    2024-05-03 13:48:16       17 阅读
  2. 如何隐藏一个元素的滚动

    2024-05-03 13:48:16       7 阅读
  3. Vue2聊天框滚动定位

    2024-05-03 13:48:16       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-03 13:48:16       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-03 13:48:16       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-03 13:48:16       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-03 13:48:16       20 阅读

热门阅读

  1. RSA实现中弱密钥漏洞分析

    2024-05-03 13:48:16       11 阅读
  2. Django响应‘表单请求’过程

    2024-05-03 13:48:16       11 阅读
  3. Django运行不提示网址问题

    2024-05-03 13:48:16       10 阅读
  4. 02 C

    2024-05-03 13:48:16       12 阅读
  5. Python的定义和调用函数

    2024-05-03 13:48:16       13 阅读
  6. 初识Vue-组件化开发(详解各个组件)

    2024-05-03 13:48:16       11 阅读
  7. Pytorch学习笔记——Transforms的使用

    2024-05-03 13:48:16       13 阅读
  8. 区块链 | IPFS:Merkle DAG

    2024-05-03 13:48:16       14 阅读
  9. ES常用查询方式

    2024-05-03 13:48:16       14 阅读
  10. 服务器分类

    2024-05-03 13:48:16       10 阅读