当前位置:首页 > VUE

Vue实现几行滚动

2026-03-07 22:02:12VUE

Vue 实现多行文本滚动

使用 Vue 实现多行文本滚动可以通过 CSS 动画或 JavaScript 动态控制。以下是两种常见方法:

CSS 动画实现

通过 CSS 的 @keyframestransform 属性实现垂直滚动效果:

Vue实现几行滚动

<template>
  <div class="scroll-container">
    <div class="scroll-content">
      <p v-for="(item, index) in items" :key="index">{{ item }}</p>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: ['第一行内容', '第二行内容', '第三行内容']
    }
  }
}
</script>

<style>
.scroll-container {
  height: 100px;
  overflow: hidden;
  position: relative;
}

.scroll-content {
  animation: scroll 10s linear infinite;
}

@keyframes scroll {
  0% { transform: translateY(0); }
  100% { transform: translateY(-100%); }
}
</style>

JavaScript 动态控制

通过定时器动态修改滚动位置,实现更灵活的控制:

<template>
  <div class="scroll-container" ref="scrollContainer">
    <div class="scroll-content" ref="scrollContent">
      <p v-for="(item, index) in items" :key="index">{{ item }}</p>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: ['第一行内容', '第二行内容', '第三行内容'],
      scrollPosition: 0
    }
  },
  mounted() {
    this.startScrolling()
  },
  methods: {
    startScrolling() {
      setInterval(() => {
        this.scrollPosition -= 1
        if (this.scrollPosition <= -this.$refs.scrollContent.clientHeight) {
          this.scrollPosition = 0
        }
        this.$refs.scrollContent.style.transform = `translateY(${this.scrollPosition}px)`
      }, 50)
    }
  }
}
</script>

<style>
.scroll-container {
  height: 100px;
  overflow: hidden;
  position: relative;
}

.scroll-content {
  transition: transform 0.1s linear;
}
</style>

使用第三方库

若需更复杂功能(如无缝循环),可考虑使用专门库如 vue-seamless-scroll

Vue实现几行滚动

  1. 安装库:

    npm install vue-seamless-scroll
  2. 实现代码:

    
    <template>
    <vue-seamless-scroll :data="items" :class-option="options">
     <p v-for="(item, index) in items" :key="index">{{ item }}</p>
    </vue-seamless-scroll>
    </template>
import vueSeamlessScroll from 'vue-seamless-scroll' export default { components: { vueSeamlessScroll }, data() { return { items: ['第一行内容', '第二行内容', '第三行内容'], options: { direction: 1, // 0向下 1向上 2向左 3向右 step: 0.5, // 步长 limitMoveNum: 2 // 起始渲染量 } } } } ```

标签: 几行Vue
分享给朋友:

相关文章

利用Vue实现

利用Vue实现

使用Vue实现的基本步骤 安装Vue.js 通过npm或CDN引入Vue.js。npm安装命令:npm install vue。CDN引入方式:<script src="https://cdn.…

Vue实现lagger页面

Vue实现lagger页面

Vue实现懒加载页面的方法 懒加载(Lazy Loading)是一种优化技术,用于延迟加载非关键资源,从而提升页面初始加载速度。在Vue中可以通过以下方式实现懒加载: 路由懒加载 使用Vue Rou…

Vue echarts实现散点图

Vue echarts实现散点图

Vue ECharts 实现散点图 安装 ECharts 在 Vue 项目中安装 ECharts 依赖: npm install echarts --save 引入 ECharts 在组件中引入 E…

Vue实现时钟

Vue实现时钟

Vue实现时钟的方法 使用Vue实现时钟可以通过多种方式完成,以下是几种常见的实现方法: 使用Date对象和setInterval 通过JavaScript的Date对象获取当前时间,并使用setI…

Vue实现音乐列表

Vue实现音乐列表

Vue 实现音乐列表的方法 数据准备与绑定 在 Vue 中实现音乐列表,首先需要准备音乐数据。可以通过数组形式存储音乐信息,例如歌曲名称、歌手、封面图片和播放链接。数据可以存储在组件的 data 属性…

Vue拖拽怎么实现

Vue拖拽怎么实现

Vue拖拽实现方法 使用Vue实现拖拽功能可以通过原生HTML5的拖拽API或第三方库如vuedraggable来实现。以下是两种常见的方法: 使用HTML5拖拽API HTML5提供了原生的拖拽A…