码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-07-10 15:08:02      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:com   add   tran   mic   动态   iso   cti   class   ges   

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中实现动画效果 订单收纳 购物车收纳

标签:com   add   tran   mic   动态   iso   cti   class   ges   

原文地址:https://www.cnblogs.com/pwindy/p/13279176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!