微信小程序之动画篇

【小程序动画合集】10种小程序动画效果实现方法,文章太长建议收藏! 前言 一提小程序与动画,首先想到的是什么?嗯,微信小程序独创了一套动画玩法,官方支持3种动画方案,分别是createAnimation、this.animate和CSS3动画。 1.createAnimation与Animation 创建一个动画实例animation。调用实例的方法来描述动画。最后通过动画实例的export方法导出动画数据传递给组件的animation属性。 var animation = wx.createAnimation({ transformOrig... 阅读详情

利用transition和animation两种方式实现相同的淡入淡出效果

主要是实现点击展示按钮,按钮消失,菜单有底部缓缓滑入界面;点击菜单中关闭按钮,展示按钮显示,菜单缓缓从底部收回。

废话不多说,直接先上效果图,看效果。

  • transition实现的动画效果

动画实现之transition方式

  • animation实现的相同的动画效果(不同之处,在菜单中加入了内容,同样transition中也可以加入内容)
    animation实现动画效果

transition动画实现效果具体内容

  1. transition动画实现效果的WXML
<!-- transition 动画 -->
<button
	type="primary"
	hidden='{{extraClasses}}'
	bindtap="toggleTransition"
	class="show">
		展示
</button>
<view class="section {{extraClasses}}" bindtap="toggleTransition">
  <button class="close" catchtap="transitionClose">
    <icon type="clear"></icon>
  </button>
</view>
  1. transition动画实现效果的WXSS
.show {
  position: relative;
  z-index: 9;
}
.section {
  width: 100%;
  height: 1334rpx;
  color:#000;
  position: relative;
  z-index: 10;
  background: rgb(112, 120, 235);
  opacity: 0.4;
  transform: translateY(1288px);
  transition: 2s ease;
}
.move {
  transform: translateY(0)
}
.close {
  width: 46rpx;
  height: 46rpx;
  line-height: 46rpx;
  border-radius: 50%;
  position: absolute;
  top: 20rpx;
  right: 20rpx;
}
  1. transition动画实现效果的JS
Page({
  /**
   * 页面的初始数据
   */
  data: {
    "extraClasses": ""
  },
  toggleTransition: function(){
    let that = this
    if(that.data.extraClasses == ""){
      that.setData({"extraClasses": "move"})
    }else {
      that.setData({ "extraClasses": "" })
    }
  },
  transitionClose: function(){
  	let that = this
    that.setData({ "extraClasses": "" })
  }
})

transition实现动画效果主要是css过渡效果,加上js控制类名来实现动画变化。

animation动画实现效果具体内容

  1. animation动画实现效果的WXML
<!-- animation动画 -->
<button
	type="primary"
	hidden='{{toggle}}'
	bindtap="toggleAnimation"
	class="show">
		展示
</button>
<view 
	class="section" 
	animation="{{ani}}" 
	bindtap="toggleAnimation">
  <button class="close" catchtap="animationClose">
    <icon type="clear"></icon>
  </button>
  <view class='time-title'>选择时间</view>
  <view class='time-choose-block'>
    <date-choose bindchooseevent='chooseDate' />
  </view>
</view>
  1. animation动画实现效果的WXSS
.show {
  position: relative;
  z-index: 9;
}
.section {
  width: 100%;
  height: 1334rpx;
  color:#000;
  position: relative;
  z-index: 10;
  background: rgb(112, 120, 235);
  opacity: 0.4;
  transform: translateY(1288px);
  transition: 2s ease;
}
.move {
  transform: translateY(0)
}
.close {
  width: 46rpx;
  height: 46rpx;
  line-height: 46rpx;
  border-radius: 50%;
  position: absolute;
  top: 20rpx;
  right: 20rpx;
}
.time-choose-block{
  position: absolute;
  top: 120rpx;
  left: 30rpx;
  float: left;
  width: 200px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 14px;
  color: #000;
}
.time-title{
  position: absolute;
  top: 50rpx;
  left: 20rpx;
  float: left;
  height: 40px;
  line-height: 40px;
  width: 80px;
  color: rgb(102, 255, 0);
  text-align: center;
}

  1. animation动画实现效果的JS
Page({
  /**
   * 页面的初始数据
   */
  data: {
    "toggle": false
  },
  toggleAnimation: function(){
    let that = this
    let animation = wx.createAnimation({
      duration: 2000,
      timingFunction: 'ease-out',
      delay: 200
    })
    animation.translateY(0).step()
    that.setData({
      ani: animation.export(),
      "toggle": true
    })
  },
  animationClose: function(){
    let that = this
    let animation = wx.createAnimation({
      duration: 2000,
      timingFunction: 'ease-out',
      delay: 200
    })
    animation.translateY(1288).step()
    that.setData({
      ani: animation.export(),
      "toggle": false
    })
  }
})

animation实现动画效果主要是通过小程序提供的wx.createAnimation API,结合animation实现。

小程序中transition和animation实现动画的异同

  1. transition,相比于animation来说,更为简单易用;
  2. 同样transition也有一些局限,transition实现动画必须通过事件来触发
  3. transition在没有事件频繁触发下,不能实现重复性动画
  4. transition不能实现动画的中间状态

微信小程序官方文档之动画篇

微信小程序常用组件分享 工作中经常会用到如下,分享一下,方便以后复制粘贴,懒得重复造轮子 官方小程序示例 3d轮播图 抽奖9宫格 转盘抽奖 水平垂直居中 序列帧 自定义轮播按钮 活动规则 包含 自定义滚动条 海报生成 包含 不同数据自适应高度生成海报 视频封面 多视频切换 自定义顶部下拉 覆盖在全屏视频上的按钮 权限被拒绝再次授权 ar识别 验证码倒计时 大小屏幕兼容 组件间方法调用 视频全屏显示4种方式 视频无缝衔接 图表下载 底部分享好友 包 阅读详情

相关推荐

微信小程序-进度条展示

效果一:不同阶段用不同的图标显示,进行中的图标有动画效果。(进度条高度一致) <block wx:for="{{list}}" wx:key> <view class='order'> <view wx:if="{{index==0}}" class='icon in'></view> <view wx...

ChibiMarukoChan的博客 2949

【前端网络深潜行者】信息化人员必备知识&面试宝典:TCP连接中断,客户端突然“玩失踪”怎么办?

TCP的坚固与前端的智慧相遇,让网络的不确定变得可控。你是否经历过更巧妙的重连策略,或是棘手的断连难题?欢迎在评论区分享你的故事,一起加固这座网络的桥,让前端之旅更加稳健。欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。DTcode7的博客首页。一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身农奴把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1615

如何解决微信小程序无法使用css3过度属性transition

由于微信小程序不支持CSS3过度属性transition,所以我们需要利用微信小程序api进行画面过度的展示。// 先旋转同时放大,然后平移。// 先旋转同时放大,然后平移。可以根据自己需求进行改动即可。

刘杨造梦的博客 1124

《微信小程序-进阶篇》Lin-ui组件库源码分析-动画组件Transition(三)

本文难度属于:初中级,通过本文你可以了解到 Lin-ui的Transition组件内部的show属性包括show变化时整个代码流程如何运转,如何实现了动画的分段显示,以及transition的钩子函数是如何实现的

Oliver尹的博客 925

两种方法实现小程序动画效果

通过使用CSS动画或小程序内置动画API,可以轻松地创建各种各样的动画效果,提升小程序的用户体验。上述代码定义了一个名为"myanimation"的动画,它从0%到50%的过程中,元素的透明度从0变为1,同时进行一个放大的变换;上述代码定义了一个名为"myanimation"的动画,它从0%到50%的过程中,元素的透明度从0变为1,同时进行一个放大的变换;通过使用CSS动画或小程序内置动画API,可以轻松地创建各种各样的动画效果,提升小程序的用户体验。CSS动画是一种简单而有效的实现小程序动画效果的方法。

GcdtIteration的博客 1453

使用css transition属性实现一个带动画显隐的微信小程序部件

我们先来看效果图 像这样的一个带过渡效果的小部件在我们实际开发中的应用几率还是比较大的,但是在开发微信小程序的过程中可能有的小伙伴发现transition这个属性它不好使(下面说明)所以我们这个时候会考虑去使用微信官方提供的wx.createAnimation  API来创建动画。 接下来我带各位小伙伴如何让 transition 属性在这种需求中好使起来,下面上代码 page({ data: { show:false//用于显示或隐藏控件 }, chanMask:function(){ var isShow = this.data.

微信小程序动画简单入门

先看官方开发文档的: 这么一大堆东西,刚开始看也蒙蔽,但是其实就是小程序封装了这些动画方法,方便我们调用,只需要了解怎么用就行(后面一定会看CSS动画详情的)。 首先,实现动画需要用到一个Animation的对象,这个对象里有很多方法,我们只需要像写C++或者java一样,先实例化一个对象(类的声明官方定义好了),然后通过对象去调用微信小程序给我们封装的方法,然后传入你自己的参数就可以了。 一个简单实例: WXML文件: <viewcl...

chenzikong的博客 4899

微信小程序按钮点击动画效果的实现

动画效果如下: GIF看起来可能会有点卡 wxml <view class=confirm>确定</view> wxss .confirm{ width: 325rpx; height: 80rpx; background: #07c160; border-radius: 6rpx; font-size: 30rpx; color: #fff; line-height: 80rpx; text-align: center; } .bubble{ position: relative; overflow: hidden; } .bubble:after

微信小程序循环列表添加动画animation

微信小程序循环列表添加动画特效并且分时间触发动画

Eleuuuuy的博客 1254

xHCI驱动学习(1) 核心数据结构

虽然Linux内核拥有C语言构建的身体,但它骨子里散发的是面向对象的气质,这一个个的对象就是struct。面对一个内核模块的时候,首先要找出关键的struct和它们之间的关系,才能摸清代码的骨骼脉络。今天来理清USB xHCI相关的数据结构类型usb_hcd、xhci_hcd、hc_driver和全局变量xhci_pci_driver、xhci_hc_driver、xhci_pci_hc_driver之间的关系。

1万+

【RL in VLA】VLA中的强化学习

本文提出了一种名为 Reinforcement Learning Distilled Generalist(RLDG) 的方法,通过强化学习生成高质量训练数据来微调机器人基础模型。通过在多个精确操作任务上的实验,我们证明了 RLDG 在成功率和泛化能力上显著优于使用人类演示的传统微调方法。RLDG 不仅减少了对人类演示数据的依赖,还展示了在复杂多阶段任务中的灵活性和有效性。

三木今天学习了嘛の博客 2257

hide show vue 动画_微信小程序之animation底部弹窗动画(两种方法)

简单分享一下常用的底部弹窗层或下拉框弹出层(代码需要修改)的内容弹窗的动画效果,这里分享的是点击按钮后底部弹窗的动画效果。第一种方式是动态设置显示区域的高度,第二种方法是动态设置显示区域的移动的位置(使用到transform:translateY);(一)实现效果简单说明一下,两种方法实现的效果是一样的,只有点击按钮才能出发弹窗(指定位置),弹窗弹出后,只有点击背景灰色区域弹窗才能收回,点击弹窗内...

weixin_39633054的博客 625

轻量级NAS的隐秘战场:比特米盒CumeBox2与CasaOS的生态融合实践

本文探讨了比特米盒CumeBox2轻量级NAS设备与CasaOS操作系统的生态融合实践。通过硬件选型、系统部署、性能优化和应用场景分析,展示了如何将CumeBox2与CasaOS深度整合,打造经济实用的家庭数据管理中心,特别适合入门级用户和小型办公环境。

rl6adventurer的博客 895

微信小程序--转子加载动画

效果展示 Demo代码 index.wxml <view class="box"> <view class="loading"> <view class="title">HaihongPro</view> </view> </view> index.json { "usingComponents": {} } index.js Page({ /** * 页面的初始数据 */ data: {

海到无边天作岸 山登绝顶我为峰 2287

Unreal Engine开发:多人联机与网络同步_延迟补偿与预测

通过延迟补偿和预测技术,我们可以显著减少网络延迟对多人在线动作游戏的影响,提升玩家的体验。延迟补偿主要在服务器端实现,通过回溯时间点来更准确地处理输入和事件。预测技术主要在客户端实现,通过预先计算玩家的动作结果来减少延迟感。结合这两种技术,可以实现更平滑、更公平的多人游戏体验。

chenlz2007的博客 1191

详细介绍用MATLAB实现基于A*算法的路径规划(附完整的代码,代码逐行进行解释)(一)--------A*算法简介和环境的创建

   本系列文章主要介绍基于A*算法的路径规划的实现,并使用MATLAB进行仿真演示。    一、 A*算法简介       A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。算法中的距离估算值与实际值越接近,最终搜索速度越快。      公式表示为: f(n)=g(n)+h(n),其中, f(n) 是从初始状态经由状态n到目标状态的代价估计,g(n) 是在状态空间中从初始状态到状态n的实际代价,h(n) 是从状态n到目标状态的最佳路径的估计代价。

慕羽★的博客 7万+

小程序 · Animation——淡入淡出动画效果

淡入淡出动画效果 WXML <!-- 加入居民提示 --> <view class="add-tip" animation="{{animationData}}" wx:if="{{addList.length>0}}"> <view class="add-left-icon"> <image class="" src="{{addCurrent.avatar}}" mode="scaleToFill" /> </vie

weixin_42091247的博客 4043

Simulink仿真模块-Signal Generator

Signal Generator:生成各种波形 所在的位置库为:Simulink / Sources 模型为: 说明 Signal Generator模块可以产生四种不同波形: 正弦波 方波 锯齿波 随机 可以使用 hertz 或 rad/sec 为单位表示信号参数。双击模型可以选择需要生成的波形,如图所示: 使用默认参数值,可以获得下列波形之一: 波形 波形输出 正弦波 ...

jk_101的博客 2654

wx动画组件

wxml <view class="title">动画</view> <view class="demo-box"> <view class="title">animation的用法</view> <view class="animation-view" animation="{{animation}}">这是动画组件</view> <button type="primary" size="mini" bindta

nannan000329的博客 223

RandLA-Net Tensorrt 推理 c++

RandLA-Net 实现 Tensorrt 部署.

J。 1110

如何程序化的将 Wire 文件转换成 STEP、CATIA、DWG、NX、FBX 等格式

Wire 文件是专有格式,只有 Autodesk Alias 软件能够直接打开和编辑。 虽然可以在 Alias 软件中手动打开文件并导出为 STEP,但在实际工作中,经常会遇到需要转换数十甚至数百个文件的场景。如果每次都手动操作软件进行转换,不仅效率低下,还容易出错,批量场景下会非常麻烦。因此,程序化、自动化的转换方案变得至关重要。

weixin_44211633的博客 451

微信小程序实现抽奖大轮盘

最近遇到做活动抽奖要用转盘,记录下做个笔记。 最终效果图: xml部分: <view class="draw-container"> <view class="draw-table-box"> <image animation="{{animationData}}" src="{{tableBg}}" class="draw-table-bg"/> <image bindtap="tableroll" src="{{go}}" .

qq_37142399的博客 4854

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

小程序底部弹窗css_JS中微信小程序自定义底部弹出框

实现微信小程序底部弹出框效果,代码分为html,css和js两部分,具体代码详情大家参考下本文。htmlCSS.commodity_screen {width: 100%;height: 100%;position: fixed;top: 0;left: 0;background: #000;opacity: 0.2;overflow: hidden;z-index: 1000...

weixin_39875419的博客 710

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Html做弹出式菜单,微信小程序实现炫酷的弹出式菜单特效

今天给大家带来一个微信小程序的弹出是菜单效果,老规矩先上效果图。(录制的gif动画有点卡,实际真机或是模拟器上很顺畅)先简单说下思路:1、首先在屏幕的某个位置放几个悬浮按钮,放几个看你需要的功能2、点击最上层(wxml中最后一个就是最上层)的的按钮后增加背景遮罩,这个遮罩在我前面自定义modal弹框时有用到3、分别对按钮做旋转和移动动画和透明度,造成动画差异就是位移的动画距离不同4、收起的时候回到...

weixin_42242323的博客 1367

微信小程序开发常用技巧(7)——实现一个类似于Android toast效果动画

很多时候,我们在小程序中使用wx.showToast(),发现样式不是很好看,那么我们能不能做一个跟原生APP类似的toast呢?答案是肯定的。今天就利用微信小程序的动画wx.createAnimation()实现一个简单的类似原生APP的toast提示。 先来看看运行效果: 这个图片丢人了,不好意思,将就看吧。哈哈。大致上还是能看清楚的。 接下来直接上代码: 看懂了吗?快去试试吧。...

eeeeety6208的博客 610

微信小程序六位密码框的实现

【代码】微信小程序六位密码框的实现。

每天都要努力学习哦~~ 1000
上一篇: 有趣的数学
下一篇: webpack适用场景及构建项目
海阳盼
博客等级 码龄11年 11粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值