在VUE中实现动画效果 订单收纳 购物车收纳

Posted pwindy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在VUE中实现动画效果 订单收纳 购物车收纳相关的知识,希望对你有一定的参考价值。

1.通过关联的class样式属性写好css样式

.anim-order{
  animation-duration: 500ms;
  animation-name: addInOrder;
  animation-timing-function: ease-in-out;
}

.anim-car{
  animation-duration: 500ms;
  animation-name: addInCar;
  animation-timing-function: ease-in-out;
}


@keyframes addInOrder {
  0% {
    transform:scale(1)
  }
  100%{
    /* transform: translateX(540px) translateY(-370px) scale(0.01) */
    transform: translateX(740px) translateY(-370px) scale(0.01)
  }
}


@keyframes addInCar {
  0% {
    transform:scale(1)
  }
  100%{
    /* transform: translateX(620px) translateY(-370px) scale(0.01) */
    transform: translateX(820px) translateY(-370px) scale(0.01)
  }
}

2.在html标签里面加入动态样式,并加入ref属性,方便之后获取该dom

          <div class="animateimg" ref="animateimg" :class="{‘anim-car‘ : isCar,‘anim-order‘ : isOrder}">
            <img :src="thedata.images[imgindex]" alt="">
          </div>

3.在js的data的数据中初始化anim-car和anim-order样式属性的属性值,分别为isCar和isOrder

  data () {
    return {
      isCar: false,
      isOrder:false
    }
  },

4.点击触发,即,让anim-car和anim-order样式生效

  methods:{
    toOrder(){
      this.isOrder = true;
    },
    toCar(){
      this.isCar = true;
    }
  }

5.结束动画

  mounted(){

    this.$nextTick(function(){

      this.$refs.animateimg.addEventListener(‘animationend‘,() => {
        this.isCar = false;
        this.isOrder = false;
      })

    })

  },

6.效果图

技术图片

以上是关于在VUE中实现动画效果 订单收纳 购物车收纳的主要内容,如果未能解决你的问题,请参考以下文章

vue2.0中实现单选,全选,购物车加减计算等效果

模块化墙挂收纳法

一个"收纳箱"带你走进数据库的世界

收纳电线的“蜂巢”:Cable Hive

编程随笔(知识收纳)-git常用命令示例

断舍离