首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在颤动中显示完成Lottie动画后的按钮

在颤动中显示完成Lottie动画后的按钮,可以通过以下步骤实现:

  1. 首先,将Lottie动画集成到前端开发中。Lottie是一个能够实现高度可定制的矢量动画的库,可以将动画以JSON格式导入,并在前端进行渲染。你可以使用lottie-web(https://github.com/airbnb/lottie-web)或者其他类似的库将Lottie动画导入到你的项目中。
  2. 在页面中创建一个按钮元素,用于显示完成动画后的按钮效果。你可以使用HTML和CSS来创建和美化按钮。
  3. 在页面加载完成后,初始化Lottie动画并将其绑定到一个特定的元素上,比如一个div元素。你可以使用Lottie库提供的API来实现这一步骤。确保动画的播放状态设置为暂停。
  4. 给按钮元素添加一个点击事件监听器,当按钮被点击时触发。
  5. 在点击事件处理函数中,使用Lottie库提供的API来控制动画的播放状态。将动画设置为播放,并在动画播放完成后,将按钮的状态更新为完成动画后的样式。
  6. 如果需要,在按钮点击事件处理函数中可以添加一些其他的逻辑操作,比如发送请求、保存数据等。

下面是一个示例代码:

代码语言:txt
复制
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Lottie Animation Button</title>
  <link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
  <div id="animation"></div>
  <button id="btn">Click Me!</button>

  <script src="lottie.min.js"></script>
  <script>
    document.addEventListener("DOMContentLoaded", function(event) {
      // 初始化Lottie动画
      var animationContainer = document.getElementById("animation");
      var animation = lottie.loadAnimation({
        container: animationContainer,
        renderer: "svg",
        loop: false,
        autoplay: false,
        path: "animation.json" // 替换成你的动画文件路径
      });

      // 按钮点击事件处理函数
      var button = document.getElementById("btn");
      button.addEventListener("click", function() {
        animation.play();

        // 动画完成后更新按钮样式
        animation.addEventListener("complete", function() {
          button.classList.add("completed");
        });
      });
    });
  </script>
</body>
</html>

在上面的示例代码中,我们使用了lottie.min.js作为Lottie库的引入文件。你需要将它下载并与HTML文件放在同一个目录下,并将动画文件替换为你自己的Lottie动画文件。

此外,你可以在styles.css文件中定义按钮完成动画后的样式,比如改变按钮的颜色、大小或添加其他效果。

希望这个示例能够帮助你实现在颤动中显示完成Lottie动画后的按钮效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Flutter】自定义滚动开关

假设此属性价值回报为true,则此开关为ON,为OFF则为false。当此属性无效时,开关小部件会失效。 该演示视频展示了如何在颤动创建自定义滚动开关。...它显示了自定义滚动开关如何在flutter应用程序中使用lite_rolling_switch包工作。...它显示了在用户按下按钮后进行切换交互,该开关将滚动到具有动画效果另一侧,并且在滚动该开关时将更改图标和文本。...**animationDuration:**此属性用于动画完成一个周期应花费时间。 **colorOn:**此属性用于在开关打开时显示颜色。...我们将添加animationDuration手段来延迟动画开始并添加onChanged表示用户打开或关闭开关时间。当我们运行应用程序时,我们应该获得屏幕输出,屏幕下方截图所示。

33.4K60

面向前端 Lottie & AE 动画手把手入门教学

绘制动画 先 Show 一下完成效果, 这个动画只需要5分钟便可绘制完成! ? 首先, 打开 AE, 新建合成, 参数如下: ? 然后进入AE, 默认会看到这个界面: ?...预览: 动画和编辑实时预览/编辑窗口 工具: 各种工具集合, 文字工具、图形工具等 属性: 在这里编辑元素属性 首先, 选择我们新建合成, 点击工具栏圆角矩形按钮, 同时按住shift, 在预览区域绘制一个矩形...按住ctrl同时点击选择我们动画路径, 点击右下角转换为贝塞尔曲线按钮。 ? 但是这时什么都不会发生。。。...将时间轴移到下一个关键帧, 也就是速度第一次突变关键帧, 再次点击圆度属性左侧菱形纪录关键帧, 同时把圆度属性设为100%。便完成了矩形到圆形突变动画。 ?...渲染动画 现在动画绘制工作已经完成, 我们可以导出我们动画了。

2.8K50
  • 大杀器Bodymovin和Lottie:把AE动画转换成HTML5AndroidiOS原生动画

    (上图为FDCon2017上渚薰讲到LottiePPT页面) 经过了一番试验,我大概摸清了Bodymovin使用方式。...下面就分步骤总结下Bodymovin安装和使用,以及导出动画何在Web页面上播放。 1. 如果电脑上没有AE的话,需要安装AE CC2014或更高版本。以AE CC2017为例: ?...AE安装完成,安装Bodymovin插件。...安装完成软件主页面如下图所示,表示插件已成功安装。 ? 3. 打开AE,点击“编辑”>“首选项”>“常规”菜单项,选中“允许脚本写入文件和访问网络”,点击确定。 ? 4....Bodymovin还为生成出json文件提供了预览功能,点击插件界面上“Preview”按钮,点击“Browse”载入刚刚生成json文件,就会看到,动画被原汁原味地导出了: ? 8.

    5.8K22

    Lottie在手,动画我有:iosAndroidWeb三端复杂帧动画解决方案

    本文编辑于OS X系统,之前出现过windows下看不到部分图片情况,如有请大家告知 为什么需要Lottie 在相对复杂移动端应用,我们可能会需要使用到复杂动画。...那我们想,能不能把所有的动画交给设计师用设计工具(AE)去做这些工作,然后直接导出一个文件给开发者去使用呢?...缺点(web端)如下所示: 自动播放问题:很多平台,微信,许多安卓浏览器,是禁止自动播放,那么这时,你动画”就变成了一张“静态图”了 许多手机浏览器,oppo和华为,是有“播放置顶”...这些功能要是用了,要么是你JSON数据导出失败,要么你最后在Web端上显示不出来,或者显示和预期不一样。...(最后导出时候要点击绿色render按钮才能导出,不要点那个player按钮),如果能把render这个文案改成export(导出),语意上就更好理解一些了 lottie-web使用需要手动处理跨域问题

    3.5K20

    DevExpress控件gridcontrol表格控件,如何在属性设置某一列显示为图片(图片按钮

    DevExpress控件gridcontrol表格控件,如何在属性设置某一列显示为图片(图片按钮)?效果如下图: ? 通过属性设置,而不用写代码。...由于此控件属性太多了,就连设置背景图片属性都有好几个地方可以设置。本人最近要移植别人开发项目,找了好久才发现这个属性位置。之前一直达不到这种效果。...ColumnEdit,把ColumnEditButtons展开,将其Kind属性设置为Glyph; 找到其中Buttons,展开,找到其中0-Glyph,展开,找到其中ImageOptions...,找到Image属性,即可设置图片,添加一个图片,运行显示即可达到目的。...注:本人用控件是17.2.7版本,其他版本不知道是否一样,仅作参考。

    6K50

    HTML多行代码搞定微信8.0炸裂特效!CC++怎么能输「建议收藏」

    创建一个 lottie 容器,使用 span 元素,因为 lottie 动画播放器需要挂载到一个具体 html 元素。...接着给发送表情按钮添加事件,点击时,切换表情弹出层显示状态: chooseStickerBtn.addEventListener("click", () => { stickersEle.classList.toggle...autoplay: true, path: "./9990-explosion.json", }); explosionPlayer.setSpeed(0.3); // 播放完成...之后给 lottie 实例设置事件监听:”complete”,它会在动画执行完成时触发,里边销毁了 lottie 实例和全屏动画元素。 这样全屏动画效果就实现了。...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.1K20

    Lottie- Android动画

    之前写 仿照驾校一点通欢迎页,这种方式繁琐并且每更新一次都需要重新写很多代码。...安装完成软件主页面如下图所示,表示插件已成功安装。 4.打开AE,点击“编辑”>“首选项”>“常规”菜单项,选中“允许脚本写入文件和访问网络”,点击确定。...---- 三、Lottie进阶,如何更加高效和方便实用? 1.最简单使用方式就是上方直接在xml定义方式。...2.使用代码方式,支持从assets目录中直接读取json文件、json字符串方式、stream流方式等 3.从网络获取json文件,直接显示动画。...这种方式很炫,你就可以不用不更新apk就不动声色定期更新你动画了。 下方是我写一个小demo,使用okhttp访问网络上一段json文件,然后显示动画

    2.2K30

    lottie谁是lottie?

    其他常用动画方案有: Png 序列帧:文件大,可能会在不同屏幕分辨率下失真 SVG 动画:实现成本高,易出现动画还原度低情况 目前,项目需要经过调研,Lottie 动画是一种具有高可行性方案。...Lottie 简介 Lottie 是 airbnb 开源动画库,支持多个平台 Android、iOS、Web、React Native 和 Windows。其提供从 AE 到各终端完整工具流程。...lottie实现动画效果: jcode lottie-web lottie-web 支持多种特性,提供复杂动画控制和监听功能。...在 unmount 时候,需要调用该方法 监听事件: 名称 描述 data_ready 加载完 json 动画 complete 播放完成(循环播放下不会触发) loopComplete 当前循环下播放...dom 已经被添加到 html 触发 destroy 将在动画删除时触发 Lottie 动画性能 对比 Lottie 和 Gif 动画,数据显示 Lottie 动画文件更小,帧率更高,而且其性能表现更好

    38320

    群友:这个你能写出来不

    俗称「老铁」 五分钟,我就给这位同学写了一个 动画 demo。...Lottie 是 Airbnb 开发一款能够为几乎所有的客户端添加动画效果开源工具,目前我已经在 iOS、Android、RN、小程序、web 上都使用过 Lottie 来添加我动画。...最理想方式是选择一个适合你当前项目的 UI 风格,因此设计该动画职责就需要你们项目团队 UI 设计师来完成。...该网站提供了部分免费 Lottie 动画,还有许多你满意动画源文件是收费,我们可以通过开发者工具,找到对应动画DOM节点,直接获取 JSON 内容。...这里提供了大量插图、金币红包、人物、按钮、氛围、图标等动画效果,我们可以自由组合设计,最后导出生成我们需要 JSON 文件。

    46510

    Lottie-让动画实现更简单

    生命不是苦醇蜜,烦取乐,不是看花绣花,不能雾中看花,游戏生命;生命是由铁到钢锻造过程,生命是走向人生辉煌风帆;生命需要道路高天,智者流云。...自开始工作,我就养成了一个习惯,那就是每天闲来无事去 Github 浏览一些比较热门开源项目,就在最近我发现了一个比较niubility开源动画库项目 ----Lottie。...Lottie 使用流程很简单,就是在AE设计完成动画,通过bodymoving插件导出一份记录动画信息JSON文件,然后开发人员使用 Lottie Android,iOS,React Native...在之前,假如我们要完成动画动态更新需求,要么使用上述所说 GIF、帧动画等方案,要么就自定义动画描述文件或用笨重xml来完成动画。那么现在用 json 文件,简直再方便不过了。 计即所见。...性能:Lotti对于从AE导出Json文件,用Core Animation做矢量动画, 性能较佳。Lotti 对解析数据模型有内存缓存。 灵活高效API: 控制动画进度、播放、暂停。

    2.1K10

    lottie系列文章(一):lottie介绍

    同样问题,也存在于腾讯课堂产品。 所以,目前迫切需要寻找一种更加简单、高效、性能高动画方案。经过调研发现airbnb目前有一套动画——lottie值得研究和应用。...在web侧,lottie-web库可以解析导出动画json文件,并将其以svg或者canvas方式将动画绘制到我们页面。 ? 下面是lottie提供官方效果图。...类似下面这种一段动画播放,非常适合使用lottie来做。 ? 但是,给一个课程卡片本身添加动画:从右下角到移动到页面,并逐渐放大过渡效果),并不适合使用lottie。...lottie不足 使用Lottie方案有以下不足之处: lottie-web文件本身仍然比较大,lottie.js大小为513k,轻量版压缩也有144k,经过gzip,大小为39k。...,lottie-web也提供了一系列事件,例如: onComplete: 动画播放完成触发 onLoopComplete: 当前循环播放完成触发 onEnterFrame: 播放一帧动画时候触发 onSegmentStart

    4.5K32

    一个 Vue 页面的内存泄露分析

    然后再点一下拍照按钮: ? 它就会把当前页面的内存堆扫描一遍显示出来,如下图所示: ? 然后在上面中间Class Filter搜索框里搜一下detached: ?...它是一个用来放lottie动画DOM容器,lottie对象里面仍有引用它: ?...这个是一个用lottieloading动画,当loading结束时候,我会手动调一下它stop api停止动画,并且把.animte-container给remove掉,但是为什么lottie还不肯放过它呢...我代码是这么写: let loadingAnimate = null; let bodymovinAnimate = { // 显示loading动画 showLoading ()...,方法是做一些操作弹个框然后关了,拍一张堆快照,搜索detached,按distance排序,把非空节点展开父级,找到标黄字样说明,那些就是存在没有释放引用。

    4K30

    Lottie : 让动画如此简单

    lottie:2.1.0' } 2.添加 Adobe After Effects 导出动画文件 Lottie默认读取Assets文件,我们需要把动画文件react.json 保存在app/src...在布局文件中直接添加LottieLottieAnimationView控件,即可在界面显示React logo动画效果 <com.airbnb.lottie.LottieAnimationView.../* * Lottie内部有两个缓存map(强引用缓存,弱引用缓存),在动画文件加载完成后会根据设置缓存策略缓存动画,方便下次使用。...动画在未开启硬件加速情况下,帧率、内存,CPU都比属性动画差,开启硬件加速,性能差不多。...对比使用lottie,有几大优势: 1、100%实现设计效果 2、客户端代码量极少,易维护 3、每个动画可动态配置动画样式(加载不同json) 4、所有动画都可动态配置,动画配置文件,素材都可从网上加载

    28.6K136

    AirBnb 开源动画引擎 Lottie:采用 Core Animation 提高性能

    Lottie 动画是通过 JSON 文件描述,可以使用 Bodymovin 插件从 After Effects 中导出。...Lottie 将对 JSON 进行解码,并访问渲染动画所需所有资源,就像它只是应用程序另一个静态资源一样。...在 Lottie 4.0 ,AirBnb 放弃了使用 CADisplayLink 在主 CPU 线程上制作图形动画原始方法: 每帧一次,Lottie 将在主线程上执行代码,以推进动画进度并重新渲染其内容...例如,Airbnb 应用程序在首次启动时显示 Lottie 动画。我们在这里进行了一项实验,发现切换到新渲染引擎可以缩短应用程序总启动时间,同时还可以提高启动动画帧速和用户体验。...除了新基于核心动画(Core Animation)渲染引擎外,Lottie 4.0 还带来了一种新文件格式,它使用压缩将一个或多个 Lottie JSON 文件及其相关资源聚合到一个文件

    2K20

    Lottie动画原理

    导语:Lottie动画是Airbnb开源一个支持 Android、iOS 以及 ReactNative。通过AE导出JSON文件+Lottie库可快速实现动画绘制。...上图为Lottie结构图 LOTAnimationView: 承接控制动画功能,播放暂停 LOTComposition: 主要解析JSON文件内容 LOTCompositionContainer:...,形状,大小等等,也包含位图;还可能是预合成层,即对已存在某些图层进行分组,把它们放置到新合成,作为新一个资源对象,这里layers对象结构是跟上面一级属性layers图层集合是一样图层结构...每个RunLoop周期中会自动开始一次新事务,即使你不显式使用[CATranscation begin]开始一次事务,任何在一次RunLoop运行时循环中属性改变都会被集中起来,执行默认0.25秒动画...下面是display调用方法,它会根据当前帧是否在该子图层显示帧范围内,如果不在,则隐藏,否则赋予图层新动画属性。

    5.6K71

    深度剖析Lottie动画原理

    (图一) 上面的数据翻译:0~30帧 scale属性值从20 -> 12,30~60帧 scale属性值从12 ->20,完成动画。上面动画之所以一直动,是lottie库可以设置loop循环播放。...其实lottie是用了requestAnimationFrame----在于充分利用显示刷新机制,比较节省系统资源。显示器有固定刷新频率(正常情况下能达到60fps)去渲染每一帧。...一开始我思考,用60fps去渲染能保证动画更流畅,但是问题来了。假设动画只有30帧,制作时候整个动画总时间1s。但是用60fps去渲染,用0.5s就完成整个动画播放。...lottie动画进阶 一:速率-贝塞尔 上面只是匀速状态下属性值,大多数情况下,动画速率都是变化。其实图一还有一些数据就是用作速率,就是图一 o 和 i 数据。...我自己尝试写了一个lottie-light轻量库,能完成上文提到5个属性值变化动画,下面是一些实践案例。 狮子头部位 ? 舞台闪烁 ? 希望本文对你有启发,可以把原理应用到各种复杂动画中去。

    5.6K31

    使用强大 AirBnb Lottie 让你 React APP 炫酷起来

    我将从lottifiles中选择以下React图标旋转React动画。从那里,我们可以预览它,并改变一些东西,背景颜色。...你可以把它放在项目根目录下静态文件夹,也可以把它放在src文件夹下动画文件夹。 这取决于你,因为我们将从任何文件路径导入JSON数据。...我选择把我JSON文件(称为react-logo.json)放在我静态文件夹: 安装 Lottie-Web 完成之后,我们将通过引入Lottie -web包来安装Lottie。...一旦安装了lottie-web,我们就可以将动画放置在任何JSX元素,方法是给出一个指示,表明我们希望它驻留在某个选择器。 最好方法是使用id属性,因为它应该只在应用程序元素中使用一次。...: 如果你有和我一样代码,并让你动画在一个空div运行,它会看起来很大。

    2K20

    iOS高质量动画实现解决方案——Lottie

    iOS高质量动画实现解决方案——Lottie     真心认为Lottie是一款十分优秀且实用动画开发库,不只对于iOS和android原生开发者来说其让复杂动画实现几乎没有成本,对于设计师来说...LottieFiles是一个在线测试Lottie动画网站,并且其上面也提供了许多常用Lottie动画组件。...三、对Lottie应用解析     首先LOTAnimationView类是显示Lottie动画视图类,从源代码中看它是继承自LOTView,不要慌,这个LOTView并不是什么稀奇古怪类,它其实就是为了代码统一...构造出LOTAnimationView实例,需要调用方法进行动画播放,下面列出了LOTAnimationView常用属性与方法: //获取动画是否正在播放 @property (nonatomic...assign) BOOL cacheEnable; //动画完成回调block @property (nonatomic, copy, nullable) LOTAnimationCompletionBlock

    3K20

    Lottie-页面动画100%硬核还原

    被设计师折磨一顿,大师兄找到了解决这个困境方案。...它就是今天主角:Lottie Lottie简介 Lottie 是Airbnb开源一个 面向iOS、Android、React Native 动画库,能分析 AE 导出动画(需要用bodymovin...可传递需要循环特定次数 autoplay:true / false 它会在准备好立即开始播放 name:动画名称以供将来参考 renderer: 'svg' / 'canvas' / 'html'...设置渲染器 Lottie动画监听 Lottie提供了用于监听动画执行情况事件: complete loopComplete enterFrame segmentStart config_ready(初始配置完成...) data_ready(所有动画数据加载完成) DOMLoaded(元素已添加到DOM节点) destroy 可使用addEventListener监听事件 // 动画播放完成触发 anm.addEventListener

    1.1K40
    领券