关闭

微信小程序_实现动画旋转的多种方式

时间: 2018-06-26阅读: 4820标签: 小程序

前端一定离不开一个东西,动画,无论是游戏还是app还是网页,都一定有动画效果,微信小游戏,小程序也有动画效果,这里有三种办法实现小程序的动画效果。   


1、每帧setData()

onReady: function () {
    var that = this;
    setInterval(function(){
      that.onUpdate();
    },1000/60);
  },

  onUpdate: function() {
    this.setData ({
      angle: this.data.angle + 1,
    })
  }

data中的angle数据是用来设置上面图片的角度的,所以可以通过这种方法实现旋转效果,首先在启动页面的时候模拟一个update效果,每一帧执行一次。 
该种方法非常耗费性能,不推荐使用。


2、使用Animation实现旋转效果

onReady: function () {
    var animation = wx.createAnimation({
      duration: 3000,
      timingFunction: "linear",
    });  
    this.animation = animation;

    animation.rotate(45).step();
    this.setData({
      animationData: animation.export()
    })

    this.interval = setInterval(function () {
      animation.translate(30).step();
      this.setData({
        animationData: animation.export()
      })
    }.bind(this), 3000)
  },

Animation不但可以实现旋转,也可以实现放大缩小,移动等动画。 
该种方法可以使用,但是不推荐,因为我自己在使用的时候总遇到各种问题,显示有问题,旋转有问题等等,可能是我用的方法不对吧。而且通过定时器去做也是挺耗费性能的事情,微信小程序本来就性能低下。


3、使用keyfreams

.question .desc .image-rotate {
  position: absolute;
  z-index: 2;
  margin-left: 20rpx;
  margin-top: 20rpx;
  height: 280rpx;
  width: 280rpx;
  border-radius: 140rpx;
  animation: headRotate 6s linear infinite
}

/* 头像旋转效果  */
@keyframes headRotate{
  0% {transform: rotate(0deg);}
  50% {transform: rotate(180deg);}
  100% {transform: rotate(360deg);}
}

在wxss中通过控制transform组件的属性,来实现旋转效果,我也是采用的这种方式,性能上面提示非常多,而且很简单。 css可以实现很多的效果,多看看css对于我们实现前端效果有很大帮助。


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/895

关闭

小程序横屏方案对比

随着小程序api开放的功能日渐增多,小程序可以做到的功能和展现形式也越来越多,其中横屏的展现形式就是其中的一种,而实现横屏的方案也有多种,但是每种方案都有一定的缺陷,恰巧最近也在横屏方案上踩了不少坑

微信小程序UI组件、实用库、开发工具、服务端、Demo整理分享

小程序开放至今,许多公司企业已经开发出了自己的小程序。这篇文章主要整理分享:微信小程序UI组件、开发框架、实用库、开发工具、服务端、Demo等

微信小程序通过保存图片分享到朋友圈

小程序内是不能直接分享到朋友圈的。所以只能通过生成图片,携带小程序二维码,保存到手机相册,让用户自己选择发到朋友圈。然后可以通过在小程序中识别二维码来进入小程序的指定页面

小程序返回上一个页面并更新上一个页面的数据

小程序开发过程中经常有这种需求,需要把当前页面数据传递给上一个页面,但是wx.navigateBack()无法传递数据。

如何探测小程序返回到webview页面?

项目是小程序(wepy), 部分页面使用webview(vue). 经常会遇见一个场景: 当小程序navigateTo到一些页面对用户的收藏状态,做了修改后, 用户点击返回按钮回到上一个页面

微信小程序框架推荐_分享好用的小程序前端开发框架

选择优秀的框架,能帮助我们节省开发时间,提高代码重用性,让开发变得更简单。下面就整理关于微信小程序的前端框架,推荐给大家。

小程序开发实践总结

从微信发布小程序以来,各大公司纷纷跟进都想从微信这个流量池里捞一杯羹。前前后后也开发了四五个小程序了。总觉得要留下点什么,既是记录那些年我们踩过的坑,也是希望大家别再掉坑。

小程序多余文本省略号显示

如何在 wxml 页面中截取数据?取数据想必大家都会,不就是 substring 吗?但是这种方法在 wxml 页面中是无效的。那还有 css 啊,不一样可以做到吗?但是个人觉得 css 复用性太差,暂不考虑。

在微信小程序中使用 async/await

微信小程序中有大量接口是异步调用,比如 wx.login() 、 wx.request() 、 wx.getUserInfo() 等,都是使用一个对象作为参数,并定义了 success() 、 fail() 和 complete() 作为异步调用不同情况下的回调。

支付宝小程序个人开发者,但暂未开放支付接口

支付宝小程序今日正式面向个人开发者开放公测。这是继微信之后,业内第2家面向个人开发者开放的小程序平台。有开发能力的个人用户可访问支付宝小程序平台,扫码验证个人身份以后即可开始支付宝小程序账号申请并进行代码开发。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!