|
@@ -16,7 +16,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="ball-container">
|
|
<div class="ball-container">
|
|
- <div v-for="ball in balls">
|
|
|
|
|
|
+ <div v-for="(ball, index) in balls" :key="index">
|
|
<transition name="drop" @before-enter="beforeDrop" @enter="dropping" @after-enter="afterDrop">
|
|
<transition name="drop" @before-enter="beforeDrop" @enter="dropping" @after-enter="afterDrop">
|
|
<div class="ball" v-show="ball.show">
|
|
<div class="ball" v-show="ball.show">
|
|
<div class="inner inner-hook"></div>
|
|
<div class="inner inner-hook"></div>
|
|
@@ -35,7 +35,7 @@
|
|
</div>
|
|
</div>
|
|
<div class="list-content" ref="listContent">
|
|
<div class="list-content" ref="listContent">
|
|
<ul>
|
|
<ul>
|
|
- <li class="food" v-for="food in selectFoods">
|
|
|
|
|
|
+ <li v-for="(food, idx) in selectFoods" :key="idx" class="food">
|
|
<div class="icon">
|
|
<div class="icon">
|
|
<img width="60" height="60" :src="food.icon" alt="">
|
|
<img width="60" height="60" :src="food.icon" alt="">
|
|
</div>
|
|
</div>
|
|
@@ -142,7 +142,7 @@ export default {
|
|
this.fold = true
|
|
this.fold = true
|
|
return false
|
|
return false
|
|
}
|
|
}
|
|
- let show = !this.fold
|
|
|
|
|
|
+ const show = !this.fold
|
|
if (show) {
|
|
if (show) {
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
if (!this.scroll) {
|
|
if (!this.scroll) {
|
|
@@ -160,7 +160,7 @@ export default {
|
|
methods: {
|
|
methods: {
|
|
drop (el) {
|
|
drop (el) {
|
|
for (let i = 0; i < this.balls.length; i++) {
|
|
for (let i = 0; i < this.balls.length; i++) {
|
|
- let ball = this.balls[i]
|
|
|
|
|
|
+ const ball = this.balls[i]
|
|
if (!ball.show) {
|
|
if (!ball.show) {
|
|
ball.show = true
|
|
ball.show = true
|
|
ball.el = el
|
|
ball.el = el
|
|
@@ -195,34 +195,33 @@ export default {
|
|
beforeDrop (el) {
|
|
beforeDrop (el) {
|
|
let count = this.balls.length
|
|
let count = this.balls.length
|
|
while (count--) {
|
|
while (count--) {
|
|
- let ball = this.balls[count]
|
|
|
|
|
|
+ const ball = this.balls[count]
|
|
if (ball.show) {
|
|
if (ball.show) {
|
|
- let rect = ball.el.getBoundingClientRect()
|
|
|
|
- let x = rect.left - 32
|
|
|
|
- let y = -(window.innerHeight - rect.top - 22)
|
|
|
|
|
|
+ const rect = ball.el.getBoundingClientRect()
|
|
|
|
+ const x = rect.left - 32
|
|
|
|
+ const y = -(window.innerHeight - rect.top - 22)
|
|
el.style.display = ''
|
|
el.style.display = ''
|
|
el.style.webkitTransform = `translate3d(0,${y}px,0)`
|
|
el.style.webkitTransform = `translate3d(0,${y}px,0)`
|
|
el.style.transform = `translate3d(0,${y}px,0)`
|
|
el.style.transform = `translate3d(0,${y}px,0)`
|
|
- let inner = el.getElementsByClassName('inner-hook')[0]
|
|
|
|
|
|
+ const inner = el.getElementsByClassName('inner-hook')[0]
|
|
inner.style.webkitTransform = `translate3d(${x}px,0,0)`
|
|
inner.style.webkitTransform = `translate3d(${x}px,0,0)`
|
|
inner.style.transform = `translate3d(${x}px,0,0)`
|
|
inner.style.transform = `translate3d(${x}px,0,0)`
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
dropping (el, done) {
|
|
dropping (el, done) {
|
|
- /* eslint-disable no-unused-vars */
|
|
|
|
- let rf = el.offsetHeight
|
|
|
|
|
|
+ // const rf = el.offsetHeight
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
el.style.webkitTransform = 'translate3d(0,0,0)'
|
|
el.style.webkitTransform = 'translate3d(0,0,0)'
|
|
el.style.transform = 'translate3d(0,0,0)'
|
|
el.style.transform = 'translate3d(0,0,0)'
|
|
- let inner = el.getElementsByClassName('inner-hook')[0]
|
|
|
|
|
|
+ const inner = el.getElementsByClassName('inner-hook')[0]
|
|
inner.style.webkitTransform = 'translate3d(0,0,0)'
|
|
inner.style.webkitTransform = 'translate3d(0,0,0)'
|
|
inner.style.transform = 'translate3d(0,0,0)'
|
|
inner.style.transform = 'translate3d(0,0,0)'
|
|
el.addEventListener('transitionend', done)
|
|
el.addEventListener('transitionend', done)
|
|
})
|
|
})
|
|
},
|
|
},
|
|
afterDrop (el) {
|
|
afterDrop (el) {
|
|
- let ball = this.dropBalls.shift()
|
|
|
|
|
|
+ const ball = this.dropBalls.shift()
|
|
if (ball) {
|
|
if (ball) {
|
|
ball.show = false
|
|
ball.show = false
|
|
el.style.display = 'none'
|
|
el.style.display = 'none'
|