微信小程序之动画篇

【小程序动画合集】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

卸载重装Ubuntu22.04双系统

先说一下写此篇文章的背景吧,我在Windows下配置了三个cornerNet深度学习环境分别是cuda10.3(显卡版本太高不支持),cuda11.3(配置后偶然看到一篇说这个版本win下只能用CPU跑),最后是cuda11.1终究还是没能跑通代码,因为它的代码是在Liunx系统写的,就想着装个Ubuntu试试看,在网上看说一般软件不要装太高版本,我就下载了470版的显卡驱动,跟着步骤升级了系统内核,结果第二天开机Ubuntu就崩了,开机黑屏左上角只有一道横杠显示,只能按ctrl+shift+f5进入命令窗

编程小白的博客 8109

3D Slicer隐藏技巧:这样玩转医学影像分割与3D建模(含DICOM处理)

本文深入探讨3D Slicer在医学影像分割与3D建模中的高级应用技巧,包括多模态分割策略、三维可视化优化及DICOM数据处理。通过专业配置和Python脚本示例,帮助医疗AI开发者和影像科医师提升工作效率,实现精准的医学图像分析与建模。

weixin_28559803的博客 433

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

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

weixin_39633054的博客 625

GD32F303 Keil 工程项目从零搭建实战指南

本文是一份详细的GD32F303 Keil工程项目从零搭建实战指南。文章阐述了亲手搭建工程的重要性,并逐步指导开发者完成从环境准备、目录规划、工程创建、文件添加、关键配置到编译调试的全过程。重点讲解了如何正确选择启动文件、添加外设库、配置头文件路径和全局宏,旨在帮助开发者深入理解工程结构,掌握GD32F303开发的核心技能,实现从“会用”到“懂”的跨越。

weixin_29190651的博客 406

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

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

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

ADAS方案设计-CAN网络管理与休眠唤醒机制

文章摘要:本文介绍了车载控制系统的五种工作模式及其转换条件,包括睡眠模式、准备睡眠模式、就绪睡眠模式、正常工作模式和重复消息状态。系统唤醒条件包括接收到网络管理报文或电源ON档信号,休眠条件则需满足电源OFF档、功能完成等多重要求。针对下挂节点的网络管理报文发送规则,详细说明了不同状态下的报文发送策略,特别是在哨兵模式、OTA模式等特殊场景下的处理方式。系统在满足休眠条件后会立即停止发送下挂节点网络管理报文,确保电源管理的有效性。

xiandang8023的博客 325

TC3XX - MCAL知识点(一):新建Tc3xx EB-tresos工程

基于EB-tresos建立Hightec或者Tasking工程的时候,第一个步骤就是需要新建一个EB-tresos的工程,本文记录一下如何新建一个EB-tresos工程,以及对其进行简单的操作。那么Tc3xx的MCAL包含哪些内容呢?

梦想技术家 2973

小程序 · 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

反光柱定位算法实战03:VEnus代码解析和纯反光柱定位中的可改进方向

本文深入解析了开源框架VEnus的反光柱定位与建图实现流程,包括强度提取、聚类、数据关联、位姿优化等核心模块。同时指出其三大局限:匹配质量脆弱性、单一传感器依赖和地图扩展逻辑缺失,并提出改进方向:融合里程计/IMU数据、引入图优化后端、建立动态地图维护机制。该分析为基于反光柱的定位系统优化提供了实用参考,有助于提升工业场景下的定位鲁棒性和精确性。

Studying…… 520

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

从零开始讲DDR(7)——modelsim独立仿真DDR4

本文主要内容为DDR4 MIG ip核仿真,modelsim独立仿真DDR4。在进行DDR仿真的时候,我们会面临一个以往常规仿真不存在的问题:DDR本身并不是一个我们通过RTL代码设计出来的部件,常规的模块或者IP仿真,都是基于RTL代码就能进行的,但是回顾一下我们DDR的开发流程,调用的IP核也只是MIG ip,其本质是一个DDRC+DDRPYH的组合,并不能模拟任何DDR本身的行为,因此,在进行仿真之前,我们首先要做的就是获取DDR的仿真模型。

apple_53311083的博客 3226

【跳频通信】基于MATLAB的跳频通信系统仿真

同时,跳频通信也具有良好的抗干扰能力,即使有部分频点被干扰,仍能在其他未被干扰的频点上进行正常的通信。由于跳频通信系统是瞬时窄带系统,它易于与其他的窄带通信系统兼容,也就是说,跳频电台可以与常规的窄带电台互通,有利于设备的更新。跳频是最常用的扩频方式之一,其工作原理是指收发双方传输信号的载波频率按照预定规律进行离散变化的通信方式,也就是说,通信中使用的载波频率受伪随机变化码的控制而随机跳变。从通信技术的实现方式来说,“跳频”是一种用码序列进行多频频移键控的通信方式,也是一种码控载频跳变的通信系统。

FPGA/MATLAB学习教程/源码/项目合作开发 6267

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

最近遇到做活动抽奖要用转盘,记录下做个笔记。 最终效果图: 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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

小程序底部弹窗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

假人有限元模型

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

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

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

weixin_42242323的博客 1367

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

微信小程序开发常用技巧(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、付费专栏及课程。

余额充值