在线直播源码,VUE 获奖名单滚动显示的两种方式
在线直播源码,VUE 获奖名单滚动显示的两种方式
第一种: 使用vue-seamless-scroll组件:
1、安装vue-seamless-scroll
1 | <br>npm install vue-seamless-scroll --save |
2、使用
2-1 全局配置
在main.js中,正常配置是:
1 | <br>import scroll from 'vue-seamless-scroll' <br>Vue. use (scroll) |
在用到的页面文件中:
1 | <br><vue-seamless-scroll></vue-seamless-scroll> |
2-2 局部配置
在用到的页面文件中
1 | <br>import vueSeamlessScroll from 'vue-seamless-scroll' |
调用
1 | <br> <vueSeamlessScroll :data= "winningList" : class -option= "classOption" class = "scroll-content" ><br> <div v- for = "(item,index) in winningList" :key= "index" style= "height: 50px; display: flex;" ><br> <div class = "scroll-prize" ><br> 恭喜{{item.userName}}获得{{item.paizeName}}<br> </div><br> </div><br> </vueSeamlessScroll><br>classOption<br> //classOption配置<br> data() {<br> return {<br> winningList: [],<br> classOption:{<br> singleHeight: 50,<br> waitTime: 1000,<br> step: 0.5,<br> limitMoveNum: 1,<br> hoverStop: false<br> },<br> }<br> }, |
css:
1 | <br> /*获奖名单*/ <br> .scroll-content {<br> align-self: center;<br> height: 50%;<br> overflow: hidden;<br> }<br> .scroll-prize {<br> position: relative;<br> align-self: center;<br> font-family: PingFangSC-Medium;<br> font-size: 30px;<br> margin:0px 20px 0px 0px;<br> padding:0;<br> /*height: 100%;*/ <br> text-align: left;<br> } |
第二种方式:使用vant的swipe组件
在用到的VUE文件中
1 | <br>import Vue from 'vue' ;<br>import { Swipe, SwipeItem } from 'vant' ;<br> <br>Vue. use (Swipe);<br>Vue. use (SwipeItem); |
使用:
1 | <br><van-swipe class = "scroll-content" vertical :show-indicators= "false" :autoplay= "3000" :duration= "1000" ><br> <van-swipe-item v- for = "(item,index) in winningList" :key= "index" style= "display: flex;" ><br> <div class = "scroll-prize" ><br> 恭喜{{item.userName}}获得{{item.paizeName}}<br> </div><br> </van-swipe-item><br></van-swipe> |
整体代码:
1 | <br><template><br> <div><br> <br> <div class = "lottery_total" ><br> <br> <div class = "winning_div" ><br> <div class = "hCenter" ><br> <img src= "./../assets/images/lottery/icon_prize.png" class = "winning_img" /><br> </div><br><!-- <vueSeamlessScroll :data= "winningList" : class -option= "classOption" class = "scroll-content" >--><br><!-- <div v- for = "(item,index) in winningList" :key= "index" style= "height: 50px; display: flex;" >--><br><!-- <div class = "scroll-prize" >--><br><!-- 恭喜{{item.userName}}获得{{item.paizeName}}--><br><!-- </div>--><br><!-- </div>--><br><!-- </vueSeamlessScroll>--><br> <van-swipe class = "scroll-content" vertical :show-indicators= "false" :autoplay= "3000" :duration= "1000" ><br> <van-swipe-item v- for = "(item,index) in winningList" :key= "index" style= "display: flex;" ><br> <div class = "scroll-prize" ><br> 恭喜{{item.userName}}获得{{item.paizeName}}<br> </div><br> </van-swipe-item><br> </van-swipe><br> </div><br> </div><br> </div><br></template><br> <br><script><br> <br> // import vueSeamlessScroll from 'vue-seamless-scroll'<br> import Vue from 'vue';<br> import { Swipe, SwipeItem } from 'vant';<br> <br> Vue.use(Swipe);<br> Vue.use(SwipeItem);<br> export default {<br> name: "NineLottery",<br> components: {<br> // vueSeamlessScroll<br> },<br> data() {<br> return {<br> <br> winningList: [],<br> classOption:{<br> singleHeight: 50,<br> waitTime: 1000,<br> step: 0.5,<br> limitMoveNum: 1,<br> hoverStop: false<br> },<br> }<br> },<br> created() {<br> this.initUplusNine()<br> },<br> methods: {<br> goBack () {<br> this.$router.go(-1)<br> },<br> async initUplusNine() {<br> this.getWinningList()<br> <br> },<br> <br> <br> plusXing(str, frontLen, endLen,cha) {<br> let len = frontLen + endLen;<br> if (str.length <= len) {<br> return str<br> }<br> return str.substring(0, frontLen) + cha + str.substring(str.length - endLen);<br> },<br> async getWinningList () {<br> let res = await RequestApi.getWinningList(this.uplusApi)<br> console.log('getWinningList',res)<br> if (res[0]) {<br> this.alertMsg('网络异常,请稍后再试')<br> return<br> }<br> let winningList = []<br> let list = res[1].retData.data.result.data<br> for(let i=0;i<list.length; i++) {<br> if (list[i].prizeType != 3) {<br> list[i].userName = this.plusXing(list[i].userName,2,2,'**')<br> winningList.push(list[i])<br> }<br> }<br> this.winningList = winningList<br> },<br> }<br> }<br></script><br> <br><style scoped><br> <br> .men{<br> position: fixed;<br> width: 100vw;<br> height: 100vh;<br> z-index: 1;<br> left: 0;<br> top: 0;<br> }<br> .hCenter {<br> display: flex;<br> align-items: center;<br> width: 300px;<br> }<br> .winning_div {<br> margin: 24px; border-radius: 20px; display: flex;<br> width: 702px;<br> height: 184px;<br> }<br> .winning_img {<br> margin:0px 14px 0px 18px;<br> width: 270px;<br> height: 130px;<br> }<br> /*获奖名单*/<br> .scroll-content {<br> align-self: center;<br> height: 50%;<br> overflow: hidden;<br> }<br> .scroll-prize {<br> position: relative;<br> align-self: center;<br> font-family: PingFangSC-Medium;<br> font-size: 30px;<br> margin:0px 20px 0px 0px;<br> padding:0;<br> /*height: 100%;*/<br> text-align: left;<br> }<br></style> |
以上就是在线直播源码,VUE 获奖名单滚动显示的两种方式, 更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2021-07-15 一对一聊天app源码,几种常用的定时器
2021-07-15 网页直播源码,自定义背景色圆角样式的方法
2021-07-15 短视频直播源码,CreateTrackbar亮度和对比度调整
2021-07-15 小视频app源码,CreateTrackbar亮度和对比度调整
2021-07-15 短视频带货app开发,java外观模式Facade
2021-07-15 直播短视频源码,身份证图片识别