// vue中的動(dòng)畫 當(dāng)dom顯示或者隱藏時(shí) vue可以管理動(dòng)畫
// transition 單元素動(dòng)畫
<transition name=""
@before-enter="beforeEnter"
@enter=""
@after-enter=""
@before-leave=""
@leave=""
@after-leave=""
> </transition>
v-enter {} 進(jìn)入的一瞬間
v-enter-active{}
v-enter-to{}
v-leave{}
v-leave-active{}
v-leave-to{}
methods: {
before-enter(el) {
el.style.background = 'yellow'
},
enter(el, done) { // velocity
el.style.background = 'red'
setTimeout(() => {
done() // 調(diào)用done才能執(zhí)行afterEnter
}, 1000),
afterEnter () {
}
}
}
<div v-for="(p, index) in products" ref="lists">
<img :src="p" alt="">
<button @click="addCart(index)">添加購物車</button>
</div>
<transition @enter>
<div class="animate" v-if="isShow"></div>
</transition>
<div class="cart"></div>
enter(el, done){
let div = this.$refs.lists[this.currentIndex]
let {x, y} = getBoundingClientRect()
el.style.left = x + 'px'
el.style.top = y + 'px'
el.style.background = `url()`
el.addEventListener('transitionEnd', done)
}
after-enter() {
this.isShow = false
}
addCart(index) {
this.currentIndex = index
this.isShow = true
}
vue添加購物車效果
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。