Vue列表自动滚动+鼠标悬停

该文章展示了如何在Vue项目中使用vue-seamless-scroll组件来创建一个无缝滚动的列表效果。通过npm安装,导入组件,配置数据和样式,可以实现列表的自动滚动,且支持鼠标悬停暂停以及自定义滚动速度和方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现效果:

Vue列表滚动效果

 代码:

第一步进行npm命令安装组件

npm install vue-seamless-scroll --save

第二步在main.js直接导入使用

import scroll from 'vue-seamless-scroll'
Vue.use(scroll)

第三步在页面中使用

<template>
    <!-- 表头代码已省略 -->
	<div class="seamlessRolling">
		<vue-seamless-scroll :data="msgData" :class-option="classOption">
			<el-row class="list-row" v-for="(item, index) in msgData" :key="index">
				<el-col :span="3">
					<p class="circle-nos">{{index+1}}</p>
				</el-col>
				<el-col :span="6">
					<p class="digit">{{item.carNo}}</p>
				</el-col>
				<el-col :span="4">
					<p class="digit">{{item.mount}}</p>
				</el-col>
				<el-col :span="6">
					<p class="digit">{{item.title}}</p>
				</el-col>
				<el-col :span="4">
					<p class="digit">{{item.title1}}</p>
				</el-col>			
			</el-row>
		</vue-seamless-scroll>
	</div>
</template>

<script>
    import vueSeamlessScroll from "vue-seamless-scroll";
    
	export default {
        components: {
			vueSeamlessScroll,
		},
        data(){
           retrun{
               msgData: [{
						carNo: '牡丹区',
						mount: '31',
						title: "209",
						title1: "89.3%",
					},
					{
						carNo: '牡丹区',
						mount: '31',
						title: "209",
						title1: "89.3%",
					},
					{
						carNo: '牡丹区',
						mount: '31',
						title: "209",
						title1: "89.3%",
					},
					{
						carNo: '牡丹区',
						mount: '31',
						title: "209",
						title1: "89.3%",
					},
					{
						carNo: '牡丹区',
						mount: '31',
						title: "209",
						title1: "89.3%",
					},
					{
						carNo: '牡丹区',
						mount: '31',
						title: "209",
						title1: "89.3%",
					},
					{
						carNo: '牡丹区',
						mount: '31',
						title: "209",
						title1: "89.3%",
					},
					{
						carNo: '牡丹区',
						mount: '31',
						title: "209",
						title1: "89.3%",
					},
					{
						carNo: '牡丹区',
						mount: '31',
						title: "209",
						title1: "89.3%",
					},
					{
						carNo: '牡丹区',
						mount: '31',
						title: "209",
						title1: "89.3%",
					},
				],
           }
        }
     	// 计算属性 类似于data概念
		computed: {
			classOption() {
				return {
					step: 0.2, // 数值越大速度滚动越快
					limitMoveNum: 1, // 开始无缝滚动的数据量 this.dataList.length
					hoverStop: true, // 是否开启鼠标悬停stop
					direction: 1, // 0向下 1向上 2向左 3向右
					openWatch: true, // 开启数据实时监控刷新dom
					singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
					singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
					waitTime: 1000, // 单步运动停止的时间(默认值1000ms)
				};
			},
		},   
    }
</script>

<style>
	.seamlessRolling {
		margin: 0 auto;
		width: 400px;//列表滚动的宽度
		height: 280px;//列表滚动的高度
		overflow: hidden;
	}
</style>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半度纳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值