本文实例为大家分享了vue实现广告栏上下滚动效果的具体代码,供大家参考,具体内容如下
html部分
1
2
3
4
5
6
7
8
9
10
11
|
< 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部分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
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部分
1
2
3
4
|
.marquee_top {
transition: all 0.5 s;
margin-top : -26px ; /* 容器高度 */
}
|
效果:
(图中有个地方直接改变内容的为gif图片首尾相接部分)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_45140661/article/details/110089013