【VUE】实现自动滚动

这篇具有很好参考价值的文章主要介绍了【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)
    }

然后在页面初始化时,调用滚动方法即可:文章来源地址https://www.toymoban.com/news/detail-513041.html

  mounted() {
    this.updateScrollTop()
  }

到了这里,关于【VUE】实现自动滚动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • css自适应高度或宽度,超出内容显示滚动条

    有时候项目中使用了flex布局,高度或是宽度是自动填满剩余空间,不是具体的数值的时候,想要设置区域滚动条,可采用以下方法设置:

    2024年02月13日
    浏览(45)
  • uniapp小程序当页面内容超出时显示滚动条,不超出时不显示---样式自定义

    使用scroll-view中的show-scrollbar属性 注意:需要搭配enhanced使用 否则无效 滚动条样式自定义 注意:此代码在ios情况下滚动条需要滑动时才显示并且不滑动过后就会隐藏 安卓情况下正常显示

    2024年01月22日
    浏览(52)
  • css样式-内容固定在页面底部,不随滚动条滚动

    目录 1、内容固定在页面底部,不随着滚动条滚动 2、添加内容,简单测试是否固定  position:                 1、【relative】相对定位;2、【absolute】绝对定位;                  3、【fixed】固定定位;4、【static】默认值;5、【sticky】粘性定位。 这里设置为fixed,

    2024年02月11日
    浏览(54)
  • vue 实现内容超出两行显示展开更多功能,可依据需求自定义任意行数!

    平时开发中我们经常会遇到这样的需求,在一个不限高度的盒子中会有很多内容,如果全部显示用户体验会非常不好,所以可以先折叠起来,当内容达到一定高度时,显示 展开更多 按钮, 点击即可显示全部内容 ,先来看看效果图:  这样做用户体验瞬间得到提升,接下来看

    2023年04月24日
    浏览(43)
  • vue+elementui 实现文本超出长度显示省略号,鼠标移上悬浮展示全部内容

    表单内的输入框一般为固定宽度,当输入框内容长度超出输入框宽度时,需要显示省略号,并设置鼠标移到输入框上时悬浮展示全部内容。 假如不生效 可以再前面在

    2024年02月12日
    浏览(44)
  • u-action-sheet 数据超出自动滚动

     效果图如上 采用的ui组件是uview-ui 实现方式 修改组件代码  uview-ui/components/u-action-sheet/u-action-sheet.vue uview-ui/components/u-action-sheet/u-action-sheet.vue直接上代码

    2024年02月16日
    浏览(42)
  • Vue + Element UI 实现文本超出长度显示省略号,鼠标移上悬浮展示全部内容的方法

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 在 Vue 项目中,经常需要处理文本内容过长的情况。本文将介绍如何使用 Vue 和 Element UI 实现文本超出长度时显示

    2024年02月09日
    浏览(62)
  • flex 布局:实现一行固定个数,超出强制换行(流式布局)

    flex 布局的知识想必不用多说,一些常用的属性如下: 设置在父容器上的属性:display:flex, align-items, justify-content, flex-wrap。 设置在子容器上的属性,通过 flex: 1, 简写了 flex-grow、flex-shrink、flex-basis 三个属性。 基础知识部分可参考阮大的: 1、垂直居中 通过 align-item s 实现

    2024年01月17日
    浏览(40)
  • Android实现超出固定行数折叠文字“查看全文“、“收起全文“

    网上有很多关于这个的代码,实现都过于复杂了,github上甚至还看到一篇文章600多行代码,结果一跑起来全是bug。还是自己写吧!!! 如果我们需要换行的 \\\"查看全文\\\"、\\\"收起全文\\\" 效果那没什么号说的,因为可以直接用两个TextView然后通过判断超过行数还是没有超过行数来判

    2024年02月13日
    浏览(28)
  • 微信小程序 text view .... 文字不换行,自动隐藏超出内容

    text-overflow: ellipsis; 文字内容溢出后加上省略点。 overflow: hidden; 控件内容溢出后直接隐藏 white-space: nowrap; 文本不会换行,文本会在在同一行上继续。 text-overflow 属性指定当文本溢出包含它的元素时,应该如何显示。可以设置溢出后,文本被剪切、显示省略号 (…) 或显示自定义

    2024年02月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包