基于vue3实现无缝滚动 vue3-seamless-scroll

18 篇文章 0 订阅

文档:vue3-seamless-scroll - npm 

安装

npm install vue3-seamless-scroll --save

 全局引用

  import { createApp } from 'vue';
  import App from './App.vue';
  import vue3SeamlessScroll from "vue3-seamless-scroll";
  const app = createApp(App);
  app.use(vue3SeamlessScroll);
  app.mount('#app');

局部引用

<script>
	import {defineComponent} from "vue";
	import {Vue3SeamlessScroll} from "vue3-seamless-scroll";
	export default defineComponent({
		components:{
			Vue3SeamlessScroll
		}
	})
</script>

使用

<template>
	<vue3-seamless-scroll :list="list" class="scroll">
		<div class="item" v-for="(item, index) in list" :key="index">
			<span>{{item.title}}</span>
			<span>{{item.date}}</span>
		</div>
	</vue3-seamless-scroll>
</template>
<script>
	import { defineComponent, ref } from "vue";
	import { Vue3SeamlessScroll } from "vue3-seamless-scroll";

	export default defineComponent({
		name: "App",
		components: {
			Vue3SeamlessScroll
		},
		setup() {
			const list = ref([
				{
					title: "Vue3.0 无缝滚动组件展示数据第1条",
					date: Date.now(),
				},
				{
					title: "Vue3.0 无缝滚动组件展示数据第2条",
					date: Date.now(),
				},
				{
					title: "Vue3.0 无缝滚动组件展示数据第3条",
					date: Date.now(),
				},
				{
					title: "Vue3.0 无缝滚动组件展示数据第4条",
					date: Date.now(),
				},
				{
					title: "Vue3.0 无缝滚动组件展示数据第5条",
					date: Date.now(),
				},
				{
					title: "Vue3.0 无缝滚动组件展示数据第6条",
					date: Date.now(),
				},
				{
					title: "Vue3.0 无缝滚动组件展示数据第7条",
					date: Date.now(),
				},
				{
					title: "Vue3.0 无缝滚动组件展示数据第8条",
					date: Date.now(),
				},
				{
					title: "Vue3.0 无缝滚动组件展示数据第9条",
					date: Date.now(),
				},
			]);
			return { list };
		},
	});
</script>

<style>
	.scroll {
		height: 270px;
		width: 500px;
		margin: 100px auto;
		overflow: hidden;
	}

	.scroll .item {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 3px 0;
	}
</style>

 组件配置

  • list

    无缝滚动列表数据,组件内部使用列表长度。

      type: Array
      required: true
  • v-model

    通过v-model控制动画滚动与停止,默认开始滚动

      type: Boolean,
      default: true,
      required: false
  • direction

    控制滚动方向,可选值updownleftright

      type: String,
      default: "up",
      required: false
  • isWatch

    开启数据更新监听

      type: Boolean,
      default: true,
      required: false
  • hover

    是否开启鼠标悬停

      type: Boolean,
      default: false,
      required: false
  • count

    动画循环次数,默认无限循环

      type: Number,
      default: "infinite",
      required: false
  • limitScrollNum

    开启滚动的数据量,只有列表长度大于等于该值才会滚动

      type: Number,
      default: 5,
      required: false
  • step

    步进速度

      type: Number,
      required: false
  • singleHeight

    单步运动停止的高度

      type: Number,
      default: 0,
      required: false
  • singleWidth

    单步运动停止的宽度

      type: Number,
      default: 0,
      required: false
  • singleWaitTime

    单步停止等待时间(默认值 1000ms)

      type: Number,
      default: 1000,
      required: false
  • isRemUnit

    singleHeight and singleWidth 是否开启 rem 度量

      type: Boolean,
      default: true,
      required: false
  • delay

    动画延时时间

      type: Number,
      default: 0,
      required: false
  • ease

    动画效果,可以传入贝塞尔曲线数值

      type: String | cubic-bezier,
      default: "ease-in",
      required: false
  • copyNum

    拷贝列表次数,默认拷贝一次,当父级高度大于列表渲染高度的两倍时可以通过该参数控制拷贝列表次数达到无缝滚动效果

      type: Number,
      default: 1,
      required: false
  • wheel

    在开启鼠标悬停的情况下是否开启滚轮滚动,默认不开启

      type: boolean,
      default: false,
      required: false
  • singleLine

    启用单行横向滚动

      type: boolean,
      default: false,
      required: false

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值