vue实现通知消息上下滚动效果

vue实现通知消息上下滚动效果

1,html

<!--  通知消息滚动模板    -->
      <div class="box">
        <ul class="con1" ref="con1" :class="{anim:animate==true}">
          <li v-for='item in messageList'><img style="height: 0.267rem" :src='require("assets/img/self/hd.png")' >{{item.infoContent.substring(0,20)+'...'}}<span style="color: #999999;font-size: 0.053rem;float: right;margin-right: 0.18rem">{{item.createTime | dateYMD }}</span></li>
        </ul>
      </div>

2,CSS

.box{
    width: 98%;
    height: 64px;
    overflow: hidden;
    margin-left: 1.5%;
    margin-top: 0.533rem;
    background: #f9f9f9;
    border-radius: 0.213rem;
  }
  .anim{
    transition: all 0.5s; 
    margin-top: -30px;
  }
  .con1 li{
    list-style: none;
    line-height: 30px;
    height: 30px;
    font-size: 0.053rem;
  }

3,JS

created() {
    // 定时触发滚动函数
    setInterval(this.messagescroll,2000)
  },
methods:{
//通知消息滚动函数
    messagescroll(){
      this.animate=true;    // 开启过渡动画
      setTimeout(()=>{
        this.messageList.push(this.messageList[0]);  // 将数组的第一个元素追加到数组最后面
        this.messageList.shift();               //然后删除数组的第一个元素
        this.animate=false;  // margin-top 为0 的时候取消过渡动画,实现无缝滚动
      },3500)
    },
    }
 data() {
    return {
      animate:false, //控制过渡动画是否开启
      messageList:[],//通知消息列表
     }
   }

4,实现效果

在这里插入图片描述

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值