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}}抢得商品{{ds}}</span>
<span class="txt">已有123⼈申请</span>
</span>
</li>
</ul>
html滚动效果代码
</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; /* 容器⾼度 */
}
效果:
(图中有个地⽅直接改变内容的为gif图⽚⾸尾相接部分)
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。