时间:2021-05-26
本文实例为大家分享了vue实现抖音时间转盘的具体代码,供大家参考,具体内容如下
做了一个抖音时间转盘,还挺简单的,可能我做的很粗糙
用vue做的 才160行代码。
其实很简单 只是大部分人被这个圆给迷惑了
这个圆就是用简单css3就能做 通过rotate来修改计算就能展示出来了。
然后贴代码。
<template> <div class="main"> <div class="timeBox"> <div class="yearBox box">{{year}}</div> <div class="dayBox box" :style="'transform: rotate('+(360/day.length)*curDay+'deg)'"> <ul class="container"> <li v-for="(v,i) in day" :key="i" :style="'transform: rotate('+(-360/day.length) * (i+1) +'deg);transform-origin: -100% 50% 0px;margin-left:150px;margin-top:90px'" >{{v}}</li> </ul> </div> <div class="hourBox box" :style="'transform: rotate('+(-360/hour.length)*curHour+'deg)'"> <ul class="container"> <li v-for="(v,i) in hour" :key="i" :style="'transform: rotate('+(360/hour.length)*i+'deg);transform-origin: -200% 50% 0px;margin-left:300px;margin-top:190px'" >{{v}}</li> </ul> </div> <div class="minutesBox box" :style="'transform: rotate('+(-360/minutes.length)*curMin+'deg)'"> <ul class="container"> <li v-for="(v,i) in minutes" :key="i" :style="'transform: rotate('+(360/minutes.length)*i+'deg);transform-origin: -300% 50% 0px;margin-left:450px;margin-top:290px'" >{{v}}</li> </ul> </div> <div class="secondBox" :style="'transform: rotate('+(-360/seconds.length)*curSec+'deg)'"> <ul class="container"> <li v-for="(v,i) in seconds" :key="i" :style="'transform: rotate('+(360/seconds.length)*i+'deg);transform-origin: -400% 50% 0px;margin-left:600px;margin-top:390px'" >{{v}}</li> </ul> </div> </div> </div></template><script>export default { data: function () { return { data: ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', '拾', '佰', '仟', '万'], hour: [], curHour: 0, day: [], curDay: 0, minutes: [], curMin: 0, seconds: [], curSec: 0, year: '' } }, created () { this.dealData() this.seconds = JSON.parse(JSON.stringify(this.minutes)) var sky = ['', '辛', '壬', '癸', '甲', '乙', '丙', '丁', '戊', '己', '庚'] var land = ['', '酉', '戌', '亥', '子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申'] var one = new Date().getFullYear() % 10 var two = new Date().getFullYear() % 12 this.year = sky[one] + land[two] setInterval(() => { this.getTime() }, 1000) }, methods: { dealData () { // 生成数据 // 星期 for (let i = 0; i < 7; i++) { this.day.push('星期' + this.data[i + 1]) } // 小时 for (let i = 0; i < 24; i++) { if (i < 11) { this.hour.push(this.data[i]) } else { this.hour.push((parseInt(i / 10) > 1 ? this.data[parseInt(i / 10)] : '') + '拾' + (parseInt(i % 10) !== 0 ? this.data[i % 10] : '')) } } // 分钟 for (let i = 0; i < 60; i++) { if (i < 11) { this.minutes.push(this.data[i]) } else { this.minutes.push((parseInt(i / 10) > 1 ? this.data[parseInt(i / 10)] : '') + '拾' + (parseInt(i % 10) !== 0 ? this.data[i % 10] : '')) } } }, getTime () { // 获取时间 var now = new Date() this.curSec = now.getSeconds() this.curDay = now.getDay() this.curMin = now.getMinutes() this.curHour = now.getHours() } }}</script><style lang="scss" scoped>.box{ position: absolute; transition: 1s;}.main{ width: 100%; height: 100vh; overflow: hidden; background: #ccc;}.yearBox{ top: 50%; left: 50%; height: 40px; width: 40px; margin-top: -20px; margin-left: -20px; line-height: 40px; text-align: center; font-size: 18px;}.timeBox{ width: 800px; height: 800px; margin: 0 auto; position: relative;}.dayBox { width: 200px; height: 200px; top: 300px; left: 300px;}.hourBox { width: 400px; height: 400px; top: 200px; left: 200px;}.minutesBox { width: 600px; height: 600px; top: 100px; left: 100px;}.secondBox { width: 800px; height: 800px; top: 0; left: 0; position: absolute;}.container { overflow:auto; li { width: 50px; height: 20px; font-size: 12px; position: absolute; } }</style>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了vue组件实现移动端九宫格转盘抽奖的具体代码,供大家参考,具体内容如下vue-lucky-draw移动端九宫格转盘抽奖vue组件,中奖的奖品
vue上传抖音的方法如下: 1、将vue视频进行保存; 2、然后打开抖音,点击上传; 3、等待上传完成即可。 VUE是iOS和Android平台上的一款
抖音显示在线时间是比较准的,因为使用抖音时需要连接网络,它是和网络时间是同步的。目前在抖音上可以看到你的抖音好友几分钟前登录或正在使用中,都会显示出来。 抖音
抖音显示在线时间是比较准的,因为使用抖音时需要连接网络,它是和网络时间是同步的。目前在抖音上可以看到你的抖音好友几分钟前登录或正在使用中,都会显示出来。 抖音
抖音定位延迟时间没有具体的数字,定位延迟时间与手机网络信号有关,如果手机中的网络信号比较好的话,也就说网速比较快,那么抖音定位延迟时间就比较低。 抖音(抖音,