vue添加購物車效果

// 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
}
?著作權(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ù)。

友情鏈接更多精彩內(nèi)容