|
@@ -172,20 +172,22 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="qingxidu plate lighting">
|
|
|
+ <div class="qingxidu plate num-lighting" ref="number">
|
|
|
<div class="b-title">续航时间</div>
|
|
|
<div class="qxd-4">
|
|
|
<div class="qxd-4-battery">
|
|
|
- <img class="battery-l" src="@/assets/images/battery-left.png" alt="">
|
|
|
- <div class="lighting-txt first-txt"><span>LITE</span>2H</div>
|
|
|
- <div class="lighting">
|
|
|
- </div>
|
|
|
- <div class="battery-mask">
|
|
|
- <div class="lighting-txt fix-txt">
|
|
|
- <span>PRO</span>
|
|
|
- <span class="lighting-span">H</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class='b-l'>
|
|
|
+ <img class="bl-img" src="@/assets/images/battery-left.png" alt="">
|
|
|
+ <div class="bl-txt"><span>LITE</span>2H</div>
|
|
|
+ </div>
|
|
|
+ <div class="lighting"></div>
|
|
|
+ <div class="br-txt">
|
|
|
+ <span>PRO</span><number class="br-num"
|
|
|
+ :type="numArr.type"
|
|
|
+ :startCount="numArr.start"
|
|
|
+ :pageProduct="true"
|
|
|
+ :count="numArr.end"/>H
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -237,6 +239,7 @@ import {mapState} from 'vuex'
|
|
|
import vcenter from '@/components/vcenter'
|
|
|
import { getPosition } from '@/util'
|
|
|
import phone from '@/components/phone'
|
|
|
+import number from '@/components/number'
|
|
|
import compare from '@/components/compare'
|
|
|
import Linecanvas from '@/components/Linecanvas'
|
|
|
|
|
@@ -339,6 +342,8 @@ export default {
|
|
|
params,
|
|
|
params2,
|
|
|
runLineCanvas: false,
|
|
|
+ runNum: 'up',
|
|
|
+ numArr: {},
|
|
|
case1: {
|
|
|
content: require('@/assets/video/8k.mp4'),
|
|
|
back: require('@/assets/video/4k.mp4'),
|
|
@@ -360,14 +365,44 @@ export default {
|
|
|
split: state => state.ui.navDivision
|
|
|
})
|
|
|
},
|
|
|
+ watch: {
|
|
|
+ runNum: {
|
|
|
+ immediate: true,
|
|
|
+ handler: function (newVal) {
|
|
|
+ if (newVal === 'up') {
|
|
|
+ this.numArr = {
|
|
|
+ type: 'up',
|
|
|
+ start: 2,
|
|
|
+ end: 8
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.numArr = {
|
|
|
+ type: 'down',
|
|
|
+ start: 8,
|
|
|
+ end: 2
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
methods: {
|
|
|
|
|
|
},
|
|
|
mounted () {
|
|
|
this.timeout = setTimeout(() => {
|
|
|
let height = getPosition(this.$refs.productLayout).y
|
|
|
+ let ny = this.$refs.number
|
|
|
let items = Array.from(this.$refs.productLayout.querySelectorAll('.plate'))
|
|
|
- this.scrollHandle = function () {
|
|
|
+ this.scrollHandle = () => {
|
|
|
+ let isRun = Array.from(ny.classList).some(sub => {
|
|
|
+ return sub === 'hide10'
|
|
|
+ })
|
|
|
+ if (!isRun) {
|
|
|
+ this.runNum = 'up'
|
|
|
+ } else {
|
|
|
+ this.runNum = 'dowm'
|
|
|
+ }
|
|
|
+
|
|
|
items.forEach((item, index) => {
|
|
|
let isContain = Array.from(item.classList).some(sub => {
|
|
|
return sub === 'bottom' || sub === 'benefit' ||
|
|
@@ -393,7 +428,7 @@ export default {
|
|
|
clearTimeout(this.timeout)
|
|
|
window.removeEventListener('scroll', this.scrollHandle)
|
|
|
},
|
|
|
- components: {vcenter, Linecanvas, phone, compare}
|
|
|
+ components: {vcenter, Linecanvas, phone, compare, number}
|
|
|
}
|
|
|
</script>
|
|
|
|