1. 程式人生 > 程式設計 >vue實現廣告欄上下滾動效果

vue實現廣告欄上下滾動效果

本文例項為大家分享了vue實現廣告欄上下滾動效果的具體程式碼,供大家參考,具體內容如下

html部分

<div class="roll">
 <img src="xxx.jpg" alt />
 <ul :class="{marquee_top:animate}">
  <li v-for="(item,index) in msg" :key="index">
   <span class="txtWrap">
    <span class="txt">{{item.name}}搶得商品{{item.goods}}</span>
    <span class="txt">已有123人申請</span>
   </span>
  </li>
 </ul>
</div>

js部分

data () {
 return {
 msg: [
    {
     name: '張**',goods: '牙膏'
    },{
     name: '王**',goods: '牙刷'
    },{
     name: '鍾**',goods: '肥皂'
    }
   ],animate: false,setInTime:'' // 定時器
 }
 },mounted:{
 this.setInTime = setInterval(this.showMarquee,3000)
},destroyed () {
  clearInterval(this.setInTime) // 頁面銷燬時清除定時器
 },methods:{
 // 滾動欄滾動
  showMarquee () {
   this.animate = true
   setTimeout(() => {
    this.msg.push(this.msg[0])
    this.msg.shift()
    this.animate = false
   },500)
  },}

關鍵css部分

 .marquee_top {
    transition: all 0.5s;
    margin-top: -26px; /* 容器高度 */
 }

效果:

vue實現廣告欄上下滾動效果

(圖中有個地方直接改變內容的為gif圖片首尾相接部分)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。