1. 程式人生 > 其它 >Vue 實現數字滾動效果

Vue 實現數字滾動效果

技術標籤:vuevuejs

效果就是顯示某個數值不是直接顯示,而是從0開始滾動,直到為那個數值時停止滾動
1、新建數字滾動元件:test.vue檔案

<template>
	<div class="number-grow-warp">
		<span ref="numberGrow" :data-time="time" class="number-grow" :data-value="value">0</span>
	</div>
<
/template> <script> export default { props: { time: { type: Number, default: 2 }, value: { type: Number, default: 720000 } }, methods: { numberGrow (ele) { let _this = this let step = (_this.value * 10) / (_this.time * 1000) let current =
0 let start = 0 let t = setInterval(function () { start += step if (start > _this.value) { clearInterval(t) start = _this.value t = null } if (current === start) { return } current = start ele.
innerHTML = current.toString().replace(/(\d)(?=(?:\d{3}[+]?)+$)/g, '$1,') }, 10) } }, mounted () { this.numberGrow(this.$refs.numberGrow) } } </script> <style> .number-grow-warp{ transform: translateZ(0); } .number-grow { font-family: Arial-BoldMT; font-size: 64px; color: #ffaf00; letter-spacing: 2.67px; margin:110px 0 20px; display: block; line-height:64px; } </style>

2、頁面使用
先引入元件
在這裡插入圖片描述
然後註冊元件

export default {
	components: {
		NumberGrow
	}
};

使用

<NumberGrow :value="720000"></NumberGrow>