扫码关注官方订阅号
代码:
{{ item.name }}
比如10秒就要停止显示, 快到10秒了,就应该慢慢的停止。 这样用户才会有那种激动感。
相信大家都玩过转盘,就跟那个类似。 但是不知道怎么做。
ringa_lee
简单的做了一个 demo。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="//cdn.bootcss.com/vue/2.3.4/vue.min.js"></script> <style> * { margin: 0; padding: 0; } #app ul li { width: 100px; height: 100px; box-sizing: border-box; background: #ccc; float: left; } #app ul li.active { border: 3px solid red; } </style> </head> <body> <p id="app"> <ul> <li v-for="(item, index) of items" :class="{active: index == actvieIndex}">{{ item.name }}</li> </ul> </p> <script> var app = new Vue({ el: '#app', data () { return { actvieIndex: 0, i: 0, count: 0, items: [ {name: '1'}, {name: '2'}, {name: '3'}, {name: '4'}, {name: '5'}, // 这些都假设是一些用户名字 {name: '6'}, {name: '7'}, {name: '8'}, {name: '9'}, {name: '10'}, {name: '11'}, {name: '12'}, {name: '13'}, {name: '14'}, {name: '15'}, {name: '16'}, {name: '17'}, ] } }, methods: { go(seconds) { const SECONDS = seconds * 1000; const HALF_SECONDS = SECONDS / 2; const FREQUENCY = 50; setTimeout(() => { console.log(this.count) this.actvieIndex++; if(this.actvieIndex >= this.items.length ) this.actvieIndex = 0; if (this.count >= HALF_SECONDS) { this.i+= 10; this.count += 50 + this.i; } else { this.count += 50; } if (this.count <= SECONDS) { this.go(seconds) } }, FREQUENCY + this.i); } }, mounted () { this.go(5) } }) </script> </body> </html>
那你的定时器可以分两个5s执行啊,前5s快,后5s慢。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
简单的做了一个 demo。
那你的定时器可以分两个5s执行啊,前5s快,后5s慢。