VUE实现自动滚动简单示例

 更新时间:2023年08月14日 09:26:52   作者:各行棋道丶  
这篇文章主要给大家介绍了关于VUE实现自动滚动的相关资料,现在很多数据展示大屏都会有很多的自动滚动的列表,文中通过代码实例介绍的非常详细,需要的朋友可以参考下

一、场景

当内容超出元素固定高度时可以进行自动滚动。

二、实现

首先,给需要自动滚动的元素设定统一的name,方便后续滚动方法获取元素的信息,我这里举例统一用scrollBox:

<el-card class="text" name="scrollBox">
  文本内容
</el-card>

其次,给需要自动滚动的元素设置样式,要满足高度固定,超出高度时出现滚动栏:

height: 600px;
overflow: auto;

最后,就是自动滚动方法:scrollHeight为元素展开的全部高度,scrollTop为滚动滑块所在的位置高度,clientHeight为滚动滑块的高度。

    updateScrollTop() {
      const scrollList = document.getElementsByName('scrollBox')
      for (let i = 0; i < scrollList.length; i++) {
        const x = scrollList[i]
        this.scrollThen(x).then()
      }
    },
    async scrollThen(x) {
      do {
        await new Promise(resolve => {
          setTimeout(() => {
            resolve()
          }, 100)
        })
        if (parseFloat(x.clientHeight / x.scrollHeight) < 0.8) {
          if (x.scrollHeight - x.scrollTop === x.clientHeight) {
            x.scrollTop = 0
          } else {
            x.scrollTop++
          }
        }
      } while (true)
    }

然后在页面初始化时,调用滚动方法即可:

  mounted() {
    this.updateScrollTop()
  }

附:vue进入页面自动滚动相应位置

mounted() {
  this.$nextTick(() => {
      setTimeout(() => {
        window.scrollTo({ top: 657, behavior: "smooth" })
      }, 200)
    })
  },
// top滚动位置

总结 

到此这篇关于VUE实现自动滚动的文章就介绍到这了,更多相关VUE自动滚动内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Vue中AXIOS的封装

    详解Vue中AXIOS的封装

    这篇文章主要为大家介绍了Vue中AXIOS的封装,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 公共组件父子依赖调用及子校验父条件问题解决

    公共组件父子依赖调用及子校验父条件问题解决

    这篇文章主要介绍了如何解决公共组件父子组件依赖调用和子组件校验父组件条件的问题,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • vue中如何监听url地址栏参数变化

    vue中如何监听url地址栏参数变化

    这篇文章主要介绍了vue中如何监听url地址栏参数变化问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • vue3项目vite.config.js配置代理、端口、打包名以及图片压缩

    vue3项目vite.config.js配置代理、端口、打包名以及图片压缩

    这篇文章主要给大家介绍了关于vue3项目vite.config.js配置代理、端口、打包名以及图片压缩的相关资料,因为3.0版本中vue已经内置了很多关于webpack的配置,一般情况下开箱即用,需要修改则可以在vue.config.js文件中完成,需要的朋友可以参考下
    2023-12-12
  • Vue3 diff算法的简单解刨

    Vue3 diff算法的简单解刨

    如今Vue3的势头正盛,在diff算法方面也做了相应的变化,利用到了最长递增子序列把性能又提升了一个档次。本文就来带大家简单解刨一下Vue3中的diff算法
    2023-02-02
  • vue+canvas实现移动端手写签名

    vue+canvas实现移动端手写签名

    这篇文章主要为大家详细介绍了vue+canvas实现移动端手写签名,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • vue渲染方式render和template的区别

    vue渲染方式render和template的区别

    这篇文章主要介绍了vue渲染方式render和template的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Vue组件传值过程接收不成功的问题及解决

    Vue组件传值过程接收不成功的问题及解决

    这篇文章主要介绍了Vue组件传值过程接收不成功的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • vue 使用饿了么UI仿写teambition的筛选功能

    vue 使用饿了么UI仿写teambition的筛选功能

    这篇文章主要介绍了vue 如何使用饿了么UI仿写teambition的筛选功能,帮助大家更好的理解和学习使用vue框架
    2021-03-03
  • Vue中常见的几种传参方式小结

    Vue中常见的几种传参方式小结

    Vue组件的使用不管是在平常工作还是在面试面试中,都是频繁出现的,下面这篇文章主要给大家介绍了关于Vue中常见的几种传参方式的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05

最新评论