最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 从答案之书小程序,看小程序的三种动画玩法

    正文概述 掘金(三言)   2021-05-21   1267

    预览

    PS:本人自己写的demo,源码可以通过关注公众号「Frank的梦呓」,回复关键词「答案之书源码」获取

    从答案之书小程序,看小程序的三种动画玩法

    体验

    从答案之书小程序,看小程序的三种动画玩法

    动画解读

    通过上面的gif图,我们可以看到整个流程大概涉及到这样几个动画。

    • 心中默念你的问题的下落放大,长按屏幕 3 秒后解答上升放大,答案文字的下落放大
    • 长按屏幕后五芒星的旋转
    • 再来一次按钮的边框效果

    实现

    animate.css实现文字动画

    1. 官网下载

    2. 下载后的文件后缀名修改为.wxss,然后放到utils文件夹下

    3. 修改animate.wxss

    // old
    :root {
      --animate-duration: 1s;
      --animate-delay: 1s;
      --animate
    }
    
    // new
    page {
      --animate-duration: 1s;
      --animate-delay: 1s;
      --animate
    }
    

    4. app.wxss中引入

    @import './utils/animate.wxss';
    

    5. wxml中使用

    <!-- 第一个参数是固定,第二个参数是效果。-->
    
    <view class="animate__animated animate__zoomInDown">
      心中默念你的问题
    </view>
    

    实现五芒星旋转

    1. 通过​wx.createAnimation

    // in wxml
    <view animation="{{animation}}" />
    
    
    // in js
    
    this.animation = wx.createAnimation({ // 创建动画实例
    	duration: 1000
    })
     
    this.animation.rotate(1800).step() // 一组动画完成
    
    this.setData({
    	animation: this.animation.export() // 导出动画队列
    })
    

    2. 通过关键帧动画this.animate

    // in wxml
    <view class="block" />
    
    
    // in js
    this.animate('.block', [
      { scale: [1, 1], rotate: 1800, ease: 'ease-out'  },
    ], 1000, function () {
      this.clearAnimation('.block', function () {
        console.log("清除了.block上的所有动画属性")
      })
    }.bind(this))
    

    css3实现「再来一次」边框效果

    // in wxml
    <view class="back-btn">再试一次</view>
    
    
    // in wxss
    .back-btn  {
      position: relative;
      padding: 5rpx 10rpx;
      margin: auto;
      text-align: center;
      color: #fff;
      font-size: 28rpx;
      border: 1rpx solid #fff;
      border-radius: 10rpx;
      background: #000;
      transition: all .3s;
    }
    
    .back-btn:hover {
      filter: contrast(1.1);
    }
    
    .back-btn:active {
      filter: contrast(0.9);
    }
    
    .back-btn::before,
    .back-btn::after {
      content: "";
      position: absolute;
      top: -10rpx;
      left: -10rpx;
      right: -10rpx;
      bottom: -10rpx;
      border: 1rpx solid #fff;
      transition: all .5s;
      animation: clippath 3s infinite linear;
      border-radius: 10rpx;
    }
    
    .back-btn::after {
      animation: clippath 3s infinite -1.5s linear;
    }
    
    @keyframes clippath {
      0%,
      100% {
          clip-path: inset(0 0 98% 0);
      }
      
      25% {
          clip-path: inset(0 98% 0 0);
      }
      50% {
          clip-path: inset(98% 0 0 0);
      }
      75% {
          clip-path: inset(0 0 0 98%);
      }
    }
    

    总结

    总的来说,微信小程序是独创了一套自己的动画玩法,并且支持3种动画方案,分别是createAnimationthis.animateCSS3动画。

    PS:本人自己写的demo,源码可以通过关注公众号「Frank的梦呓」,回复关键词「答案之书源码」获取

    本人开源商城项目bytemall,持续更新,欢迎大家关注。

    欢迎讨论,点个赞再走吧 。◕‿◕。 ~


    起源地下载网 » 从答案之书小程序,看小程序的三种动画玩法

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元