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