vue实现数据无缝循环滚动

本文介绍如何在Vue项目中实现数据的无缝循环滚动效果,通过设置定时器调整元素的margin-top,并在达到特定位置时,利用数组操作将前端数据进行动态更新,确保滚动的连续性。
摘要由CSDN通过智能技术生成

通过定时器控制数据的margin-top实现数据滚动,滚动到一定位置时将数组的前几条数据push进数组,同时把这几条数据删除

废话不说了,上代码

<div class="realData">
      <ul :style="{'marginTop':marginTop+'px'}">
            <li v-for="(item,index) in realData" :key='index'>{
  {item}}</li>
       </ul>
</div>

data(){
    return{
    	marginTop:0,     // 数据的margin-top
    	realData:['第一条数据','第二条数据','第三条数据','第四条数据','第五条数据','第六条数据',],
    	timer:''     // 定时器
    }
  }
  created(){
  	this.timer= setInterval(this.showNotice, 100)   //100表示间隔时间,数字越大滚得越快
  },
  methods:{
  // 数据循环滚动
    showNotice(){
      this.marginTop -= 1
      if(this.marginTop < -36){     // 滚上去36px后把前两条数据拉下来
        this.realData.push(this.realData[0])
        this.realData.push(this.realData[1])   // 因为项目要求数据一条白一条黄,所以两条两条循环
        this.rea
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值