栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

微信小程序动画两种实现方式

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微信小程序动画两种实现方式

开发小程序,实现动画功能,有两种实现方式,下面来看看具体怎么做:

JS动画

利用小程序API提供的wx.createAnimation(OBJECT)实现,API中是这样说:创建一个动画实例animation。调用实例的方法来描述动画。最后通过动画实例的export方法导出动画数据传递给组件的animation属性。

wxml


  
    {{start}}
    
      
     
    {{end}}
  

css

@font-face {
  font-family: 'iconfont';  
  src: url('//at.alicdn.com/t/font_703892_u8zob8nchpf.eot');
  src: url('//at.alicdn.com/t/font_703892_u8zob8nchpf.eot?#iefix') format('embedded-opentype'),
  url('//at.alicdn.com/t/font_703892_u8zob8nchpf.woff') format('woff'),
  url('//at.alicdn.com/t/font_703892_u8zob8nchpf.ttf') format('truetype'),
  url('//at.alicdn.com/t/font_703892_u8zob8nchpf.svg#iconfont') format('svg');
}
.iconfont {
  font-family:"iconfont" !important;
  font-size:16px;
  font-style:normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.animation{
  margin-top: 20rpx;
  padding: 10rpx 30rpx;
}
.dis-flex{
    display: flex;
}

.flex1{
    flex: 1;
    text-align: center;
}
.flex3{
    flex: 3;
    text-align: center;
}
.switch-icon:before { 
  content: "e8c8"; 
}

js

Page({
  data: {
    lAnimate: '',
    rAnimate: '',
    start: '北京',
    end: '深圳'
  },
  trigger() {
    let vm = this;
    let option = {
      duration: 100, // 动画执行时间
      timingFunction: 'ease-in' // 动画执行效果
    };
    var lanimation = wx.createAnimation(option); // 创建动画
    var ranimation = wx.createAnimation(option);
    // 起点
    lanimation.translateX(100);
    lanimation.opacity(0.1).step();
    // 终点
    ranimation.translateX(-100);
    ranimation.opacity(0.1).step();
    vm.setData({
      lAnimate: lanimation.export(),// 开始执行动画
      rAnimate: ranimation.export() // 开始执行动画
    })
    setTimeout(() => {
      // 起点
      lanimation.translateX(0);
      lanimation.opacity(1).step();
      // 终点
      ranimation.translateX(0);
      ranimation.opacity(1).step();
      var temp = vm.data.start;
      vm.setData({
 lAnimate: lanimation.export(),// 开始执行动画
 rAnimate: ranimation.export(),// 开始执行动画
 end: temp,
 start: vm.data.end
      })
    }, 100);
  }
})
CSS3动画

CSS3动画还是用animation来完成,需要注意的是只需要@-webkit-keyframes,不需要其他的,如@-moz-keyframes,运用会报错

@-webkit-keyframes lanimation
{
  from {left:px2rpx(0px);}
  to {left:px2rpx(140px);}
}

.start{
  animation lanimation 2.5s ease-in infinite
  animation-delay 0.6s
}
公告

以后每月5、15、25号更新原创文章,内容不限,喜欢小编的可以点击关注,也可在下方评论留言,你喜欢什么内容,小编根据大家喜欢的内容尝试更新

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/244451.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号