3 changed files with 100 additions and 20 deletions
			
			
		- 
					18src/assets/styles/font-some.css
- 
					30src/views/environmentalScreen/index.vue
- 
					72src/views/environmentalScreen/module/numFlip.vue
| @ -0,0 +1,72 @@ | |||||
|  | <template> | ||||
|  |   <div> | ||||
|  |     <div class="chartNum"> | ||||
|  |       <div :id="tnum" class="box-items"> | ||||
|  |         <li class="number-item"><span><i ref="numberItem" class="item">0123456789</i></span></li> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | </template> | ||||
|  | 
 | ||||
|  | <script> | ||||
|  | export default { | ||||
|  |   props: { | ||||
|  |     tnum: { | ||||
|  |       type: String, | ||||
|  |       default: null | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       chartNum: ['0', '0', '0', '0', '0', '0', '0', '0'] | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   mounted() { | ||||
|  |     this.$nextTick(() => { | ||||
|  |       this.start() | ||||
|  |     }) | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     start() { | ||||
|  |       var strHtml = '' | ||||
|  |       for (var i = 0; i < this.chartNum.length; i++) { | ||||
|  |         strHtml += '<li class="number-item">\n' + | ||||
|  |                 ' <span><i class="item" ref="numberItem">0123456789</i></span>\n' + | ||||
|  |                 ' </li>' | ||||
|  |       } | ||||
|  |       document.getElementById(this.tnum).innerHTML = strHtml | ||||
|  |       // 定时改变数字 | ||||
|  |       const _this = this | ||||
|  |       setInterval(() => { | ||||
|  |         _this.toOrderNum('123456') | ||||
|  |         _this.setNumberTransform() | ||||
|  |       }, 1000) | ||||
|  |     }, | ||||
|  |     toOrderNum(num) { | ||||
|  |       num = num.toString() // 数字变成字符串 | ||||
|  |       if (num.length < 6) { // 如未满位数,添加"0"补位 | ||||
|  |         num = '0' + num | ||||
|  |         this.toOrderNum(num) // 递归添加"0"补位 | ||||
|  |       } else if (num.length === 6) { // 数中加入逗号 | ||||
|  |         this.chartNum = num.split('') // 将其便变成数据 | ||||
|  |       } else { | ||||
|  |         alert('显示异常') | ||||
|  |       } | ||||
|  |     }, | ||||
|  |     setNumberTransform() { | ||||
|  |       var numberItems = document.getElementsByClassName('item') | ||||
|  |       // console.log(numberItems) | ||||
|  |       const numberArr = this.chartNum.filter(item => !isNaN(item)) | ||||
|  |       for (var index = 0; index < numberItems.length; index++) { | ||||
|  |         const elem = numberItems[index] | ||||
|  |         elem.style.transform = 'translate(-50%, -' + numberArr[index] * 10 + '%)' | ||||
|  |       } | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | 
 | ||||
|  | <style lang="scss" scoped> | ||||
|  | @import "~@/assets/styles/font-some.css"; | ||||
|  | 
 | ||||
|  | </style> | ||||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue