Vue实现数字翻牌器效果

<template>
  <div>
    <div class="head" @click="this.numFun(0,5000)">点击金额变动</div>
   <div>{{amount}}</div>
  </div>
</<template>
 
 
<script>
export default {
  data () {
  return {
    amount: 0
  }
}
methods: {
    //金额变动动画
    numFun(startNum,maxNum) {
      var that = this
      let numText = startNum;
      let golb; // 为了清除requestAnimationFrame
      function numSlideFun(){ // 数字动画
          numText+=5; // 速度的计算可以为小数 。数字越大,滚动越快
          if(numText >= maxNum){
              numText = maxNum;
              cancelAnimationFrame(golb);
          }else {
              golb = requestAnimationFrame(numSlideFun);
          }
        that.amount=numText
        // console.log(numText)
      }
       numSlideFun(); // 调用数字动画
    }
  }
}

注意:当然vue是一个成熟的孩纸了,也有了属于它的对应的插件vue-count-to:https://www.npmjs.com/package/vue-count-to

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现翻牌效果可以使用CSS3的transform属性和transition属性来实现。下面是一个简单的Vue组件示例,实现翻牌效果: ```vue <template> <div class="flip-card" :class="{ flipped: flipped }" @click="flipCard"> <div class="flip-card-inner"> <div class="flip-card-front"> <slot name="front"></slot> </div> <div class="flip-card-back"> <slot name="back"></slot> </div> </div> </div> </template> <script> export default { data() { return { flipped: false, }; }, methods: { flipCard() { this.flipped = !this.flipped; }, }, }; </script> <style> .flip-card { position: relative; width: 200px; height: 200px; transition: transform 0.5s; transform-style: preserve-3d; } .flip-card.flipped { transform: rotateY(180deg); } .flip-card-inner { position: absolute; width: 100%; height: 100%; text-align: center; transition: transform 0.5s; transform-style: preserve-3d; } .flip-card-front, .flip-card-back { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; } .flip-card-back { transform: rotateY(180deg); } </style> ``` 在这个组件中,使用了一个div元素作为翻牌的容,内部包含两个div元素作为正反面。使用了一个flipped属性来控制翻牌的状态,点击容时会切换翻牌状态。CSS样式中,使用了transform属性来实现3D旋转,transition属性来控制过渡效果。在正反面div元素中,使用了backface-visibility属性来控制背面的可见性。 在需要使用翻牌效果的地方,可以像下面这样使用组件: ```vue <flip-card> <template v-slot:front> <div>正面内容</div> </template> <template v-slot:back> <div>反面内容</div> </template> </flip-card> ``` 其中,使用了Vue的插槽功能来传递正反面内容。在组件中,使用了slot元素来定义插槽,并且使用了v-slot指令来指定插槽的名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值