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

如何为bodymovin和控制动画做scrollevent?

为了为bodymovin和控制动画做scrollevent,您可以使用以下步骤:

  1. 首先,确保您已经将bodymovin动画导出为JSON格式,并将其嵌入到您的网页中。
  2. 在HTML文件中,创建一个具有适当ID的容器元素,用于显示动画。
  3. 使用JavaScript编写代码来控制动画的滚动事件。您可以使用scroll事件监听用户滚动页面的操作。
  4. 在scroll事件处理程序中,获取滚动位置,并根据需要调整动画的播放状态。您可以使用bodymovin库提供的方法来控制动画的播放、暂停、重播等。
  5. 根据滚动位置和动画的播放进度,您可以使用CSS或JavaScript来调整动画的属性,例如透明度、位置或缩放等。

以下是一个示例代码,演示如何为bodymovin动画添加滚动事件:

代码语言:html
复制
<!DOCTYPE html>
<html>
<head>
  <title>Scroll Event for Bodymovin Animation</title>
  <style>
    #animation-container {
      width: 400px;
      height: 400px;
      margin: 200px auto;
    }
  </style>
</head>
<body>
  <div id="animation-container"></div>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.7.4/lottie.min.js"></script>
  <script>
    // 创建bodymovin动画
    var animation = bodymovin.loadAnimation({
      container: document.getElementById('animation-container'),
      renderer: 'svg',
      loop: true,
      autoplay: false,
      path: 'path/to/your/animation.json'
    });

    // 监听滚动事件
    window.addEventListener('scroll', function() {
      // 获取滚动位置
      var scrollPosition = window.scrollY;

      // 根据滚动位置调整动画播放状态
      if (scrollPosition > 500) {
        animation.play();
      } else {
        animation.pause();
      }
    });
  </script>
</body>
</html>

在上述示例中,我们使用了bodymovin库来加载动画,并将其嵌入到ID为"animation-container"的容器中。然后,我们使用JavaScript监听滚动事件,并根据滚动位置来控制动画的播放状态。

请注意,上述示例仅演示了如何为bodymovin动画添加滚动事件,并不涉及具体的云计算相关内容。如果您需要了解更多关于云计算的知识,请提供具体的问题或主题,我将尽力提供相关的答案和建议。

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

相关·内容

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

那我们想,能不能把所有的动画交给设计师用设计工具(AE)去做这些工作,然后直接导出一个文件给开发者去使用呢?...如果这样,设计师就能完全独立自主,而开发者只要像“引用一张图片”那样去用这个动画就好了呀。 对,Lottie这个工具的就是这件事。...Lottie动画简介 Lottie是一个用于WebiOS(Android)的移动库,用于解析使用Bodymovin导出为json的Adobe After Effects动画,并在移动设备上呈现它们。...缺点(web端)如下所示: 自动播放问题:很多平台,微信,许多安卓浏览器,是禁止自动播放的,那么这时,你的“动画”就变成了一张“静态图”了 许多手机浏览器,oppo华为,是有“播放置顶”...功能的,影响用户体验 video控制条隐藏问题 3.

3.4K20

让我们一起来看看可爱的猫咪吧

介绍: Lottie 是一个适用于 Android、iOS、Web Windows 的库,它解析使用Bodymovin导出为 json 的Adobe After Effects动画,并在移动设备...JSON.parse(animationData) }); 在线示例:codepen 效果图: 基本用法 官方有给出一个基本教程,不过是在youtube上,如果会一点点,用这个动画...(animationData path 是互斥的) loop:真/假/数字 autoplay:true / false 它会在准备好后立即开始播放 name:动画名称以供将来参考 renderer:...‘svg’ / ‘canvas’ / ‘html’ 设置渲染器 container:在其上呈现动画的 dom 元素 它返回您可以通过播放、暂停、设置速度等控制动画实例。...我坦白,自从进入"代码吸猫"征文活动群来,我的最多的不是想着写啥,而是收刮表情包,群里的掘友猫咪是真的太好看拉。

1.7K40

bodymovin 的使用场景初步调研

它不仅可以播放动画,可以完全控制动画的播放、暂停、速率、播放对应帧等等。更可以做到更改帧对象的位置。可以说是不可多得的好工具。...bodymovin.loadAnimation(animData); 控制动画窗口的大小 bodymovin会将对应的svg或者canvas节点插入容器节点中。...虽然bodymovin提供了在已有canvas上渲染的能力,实测试效果并不理想,且没有api文档说明如何进行调整。所以建议控制container的大小来控制动画的大小。...所以,运用以上的接口,我们可以很好的控制动画对象的播放。 举个例子 一个动画完整的包含一个控件的出现消失。 我们可以通过以上的api将动画拆分成两个片段: 开始片段消失片段。...步骤是: 通过anim.totalFrames获取到动画的总帧数。 设计沟通一下,得知前30帧是出现,后30帧是消失。 将前30帧后30帧拆分成两个不同的片段。在点击事件中分别播放。

3.8K00

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

Lottie是一个库,可以解析使用AE制作的动画(需要用bodymovin导出为json格式),支持web、ios、androidreact native。...类似下面这种一段动画的播放,非常适合使用lottie来。 ? 但是,给一个课程卡片本身添加动画:从右下角到移动到页面中,并逐渐放大的过渡效果),并不适合使用lottie。...有很少量的AE动画效果,lottie无法实现,有些是因为性能问题,有些是没有。比如:描边动画等。...下面是几种常用的方法,基本可以满足对动画进行控制的需求。...: 开始播放一个动画片段的时候触发 总体而言,lottie-web目前提供了丰富的方法事件,基本可以满足对动画进行控制的需求。

4.4K32

lottie系列文章(二):lottie最佳实践

文件设计师给的动画json文件统一放到src/assets/lottie/文件夹中。...json文件 通过bodymovin插件导出的动画json文件大小也可能比较大(可能达到几十kb,负责的动画也可能上百kb),所以不建议将json数据内联到页面中,而最好是当做一个json文件来进行下载...json文件路径 }); lottie-web常用方法 lottie-web提供了很多的控制动画播放的方法,下面是一些常用的方法。...在制作AE动画时,将图层命名为#svgId格式,前端加载该动画后,相应的图层的id会被设置为svgId,可以通过dom方法获取该元素并相应的操作; 在制作AE动画时,将图层命名为.svgClass格式...,前端加载该动画后,相应的图层的class会被设置为svgClass,可以通过dom方法获取这些元素并相应的操作; 动画json文件制作及导出规范 使用该方案制作动画时,有些动画效果lottie-web

5.2K31

Lottie- Android动画

之前写的 仿照驾校一点通欢迎页,这种方式繁琐并且每更新一次都需要重新写很多代码。...Lottie就是支持Android, iOS, React Native,并且只需简单的代码就可以实现复杂动画效果的库 答案就是可以以上动画。 二、Lottie在Android端怎么用?...假设我们要做一个缓冲数据时的一个loading动画,不用Lottie之前你们公司的美工一般都会给一个gif动画效果一些切好的一帧一帧的图片。...现在不需要这么操作了,只要你们公司的美工如下的操作: 让设计师使用Adobe 的 After Effects(简称 AE)工具(美工一般都会这个)制作这个动画。...然后你就会发现奇迹出现了,没有一张图片,没有一个gif,但是动画效果出来了!就是这么简单,就是这么暴力! ---- 三、Lottie进阶,如何更加高效方便的实用?

2.2K30

从设计师开发的角度使用 lottie

如下图: image.png 官网宣传了3个特性: 灵活使用AE的特性 随心所欲控制你的动画 很小的文件体积 个人认为 lottie 最大的优势就是可以将设计师设计的动图原原本本的在页面上展现出来,完美还原了动画的精细度...,并且对动画拥有足够的控制能力。...菜单中选择 Window > Extensions > Bodymovin 测试动画。...动画数据,与 path 互斥,建议使用 path,因为 animationData 会将数据打包进来,会使得 js bundle 过大 获取到 lottie 实例后,可以调用 api 控制动画,例如上述代码中可以使用...lottie 的出现可以替代传统的 gif,并且提供的 api 可以更好的控制动画。lottie 可能不适合用于过于复杂的大场景动画,但是局部的小动画,再适合不过了。

3.2K21

Lottie动画简介

各平台实现业务无关的动画基础库,业务层只需要要把配置数据输入基础库,接下来由配置数据控制动画效果、时序及其组合,这样就能把N的业务层工作量缩减到0.n 三.目标定位 Lottie就是这样的一种方案,想要缩减多端实现动画的业务工作量...前端工程师,工程师调用对应平台的Lottie Player加载动画资源,并控制动画播放/暂停等 AE插件部分负责把AE的动画定义转换成Lottie动画定义,并输出JSON文件,难点在于支持转换更多的AE...特性,以免设计师用起来束手束脚 播放器部分负责解析Lottie动画定义,加载相关资源并利用平台支持的技术实现动画效果,比如Web环境下默认通过SVG动画来实现,可选Canvas绘制CSS动画实现 关键在于...Demo 默认通过SVG实现(renderer: 'svg'),另外还支持canvashtml,区别在于: svg:动画元素(形状等)用SVG实现,动画效果通过SVG动画 canvas:通过元素用...Canvas绘制,动画效果通过rAF定时刷新重绘来实现 html:动画元素用SVG实现,动画效果通过CSS动画 实际使用中发现,SVG模式兼容性最好,HTML模式下遮罩动画存在圆角放大变方的问题 P.S

1.8K40

【源码分析】Lottie 实现炫酷动画背后的原理

文件的属性含义 bodymovin 导出的 包含了动画的一切信息, 动画的关键帧信息,动画该怎么,做什么都包含在 里,Lottie 里所有的 Model 的数据都来自于这个 ( 该 对应的 Model...Lottie的动画原理 上一小节讲了 Lottie 的绘制原理,但是 Lottie 是用来动画的,光理解它的绘制原理是不够的,对于动画,更重要的是它怎么动起来的。...Lottie 动画起始于 LottieAnimationView.playAnimation,接着调用 LottieDrawable 的同名方法,与绘制相同,动画也是 LottieDrawable 控制的...PS: 动画过程中的一些变量比如 scale,都是由BaseKeyframeAnimation控制,但这个偏于细节,这里就不讲了。...哈哈~ 集团已经有 Lottie 的较大量的应用了,拿淘宝举例,首页的下拉刷新的动画就是 Lottie 来的(几个小球的那个动画),还是我当时负责淘宝皮肤的时候的,还有不少其他页面也有。

1.9K11

产品动效的福音,AE 动画直接变原生代码

1486529099358228.png 根据身边朋友的试用,通过 Canvas 绘制动画非常非常流畅,并且在 AE 动画没有遮罩的前提下内存控制得也非常好,基本可以取代用 GIF 动画。...总的来说,这个动画库为跨平台低成本动画实现提供了非常有想象力的解决方案,一旦做成了对很多前端同学会有一定的冲击......毕竟以后牛逼的动画可能就不那么稀奇了。...通过插件 Bodymovin,Lottie 可以直接解析 AE 导出的 JSON 文件,并且插件内置的 JavaScript 图层可以将动画直接在 Web 上运行。...而通过 Lottie,工程师可以准确地实现设计师所要的动画效果,并且使得那些与动画框架斗争、猜测动画时间手动重建动画曲线等等繁复的操作成为历史。...1486529152872595.gif 目前的 Airbnb App 中已经有不少动画是通过 Lottie 实现的,应用内通知、全动画引导、评价页面等。

2.7K20

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

Intro to Lottie Lottie 是 Airbnb 开源的一个支持 Web、Android、iOS 以及 ReactNative等平台的动画库,它可以结合 AE Bodymovin 来快速实现跨平台动画...预览: 动画编辑实时预览/编辑窗口 工具: 各种工具的集合, 文字工具、图形工具等 属性: 在这里编辑元素的属性 首先, 选择我们新建的合成, 点击工具栏的圆角矩形按钮, 同时按住shift, 在预览区域绘制一个矩形...这么的意思是: 让图层的Y轴坐标属性, 在0帧到20帧的过程中, 从150动画到380, 是不是很容易理解? 现在按下空格键, 预览效果!...这时曲线的每一个拐点将会多出一个锚点两个方向的控制器, 曲线将会与其中一个控制器相切, 并且曲线与控制器相切处的半径等于控制器的长度。 因此我们只需要拖动控制器便可以控制曲线。 ?.../index.html, 打开浏览器, 将会看到我们的动画, 是不是非常酷~ 除了能够播放暂停, Lottie 还为我们提供了更加精细的动画控制方法事件钩子, 有兴趣的小伙伴参考: GitHub

2.6K50

Lottie内存泄漏问题的定位与分析

它可以解析使用 Bodymovin 导出为 json 的 Adobe After Effects 动画,允许应用程序像使用静态图像一样轻松使用动画。...动效设计人员通过Adobe After Effects的Bodymovin插件导出记录动画信息的JSON文件; (3). 开发人员使用Lottie的开源库读取这份JSON文件进行解析渲染。 ?...简单的实现、控制动画的播放,开发效率大大提高。 (4). 可动态配置下发,实时替换动画效果。...4、lottie-android 两种引入方式 xml方式 编程方式 5、Lottie实现原理 Lottie使用通过Bodymovin插件导出的json文件作为动画数据源,(json文件把图片中的元素进行来拆分...,并且描述每个元素的动画执行路径执行时间)。

6.6K30

Android使用lottie加载json动画的示例代码

设计师在After Effects 设计好相关的动画,然后安装上BodyMovin 这个插件,这个插件,可以帮导出动画效果的 JSON 文件,然后我们可以通过 Lottie 来加载相关的 JSON 文件来实现动画效果...多个平台可以共用,例如 iOS Android,公用一个动画。...对于 iOS 来说支持 ViewController 转场动画 iOS 平台上用 Core Animation 矢量动画。...性能不错,而且有缓存 对比于用 GIF 动画,手写动画,轻量,性能存储上都更佳。 不足之处 iOS 版本要 = 8.0 才可以使用。不支持 7.x 对于一些交互性的动画,支持不是很好。...18380438200/LottieAnim 先上效果图,这个是的一个仿抖音的点赞动画: ?

4.1K31

React: Lottie 动画初体验优化策略

开源一个主要面向 Web、iOS、Android、React Native、Windows 的动画库,可以实时渲染After Effects动画,并以Bodymovin作为json导出,允许应用程序像使用静态图像一样轻松使用动画...3、为什么选择 LOTTIE 动画,比较同样类型选择 同样类型的复杂动画实现的方案现在有如下几个 png 序列帧: 优点:兼容性好,工程师可控,操作性强 缺点:它需要大量图片素材支持,动画播放时占用的内存较多...,上线后只需要动态替换对应的 JSON 文件就能实现可配置、可运营 4、简单的原理解析 来看看 bodymovin 动画的渲染基本流程 1、 registerAnimation 注册动画,创建一个...2、设计师侧优化(减少动画帧数,动画数量) 3、虚拟 DOM (react virtual dom)[https://swiperjs.com/api/#virtual] 减少页面的渲染压力; 4、...7.5.2 chrome 开发者工具 控制台-> perfmance -> 刷新页面开启监控性能,然后就能看到 frames 这项性能指标(右上角有 fps 的帧率控制) ?

3.7K40

Lottie-让动画实现更简单

生命不是苦中醇蜜,烦中取乐,不是看花绣花,不能雾中看花,游戏生命;生命是由铁到钢的锻造过程,生命是走向人生辉煌的风帆;生命需要道路高天,智者流云。...正式开始之前先简单的介绍一下, Lottie是 Airbnb 发布的一个面向 iOS、Android React Native 的开源动画库。...apps开源动画库读取这份JSON文件进行解析渲染。...(官方文档有提到,masks mattes 动画较为耗费性能,原因是需要额外的 Bitmap 辅助,这点需注意) 而存储上,动画由 json 文件描述,占用空间不多。...性能:Lotti对于从AE导出的Json文件,用Core Animation矢量动画, 性能较佳。Lotti 对解析后的数据模型有内存缓存。 灵活高效的API: 控制动画进度、播放、暂停。

2K10

聊聊苹果营销页中几个有趣的交互动画

transform 可以使用 translate/rotate/skew/scale 的方式来控制元素变换,也可以使用 matrix 的方式来控制元素变换。...翻盖效果 翻盖效果其实很简单,你们绝对想不到,苹果营销页是怎么的? 「它用了 120 张图片,根据滚动距离来画出对应的在这个滚动位置上该展示的图片」,对,你没有听错。...我之前也以为应该是 css3 控制盖的角度从而实现翻盖效果的,是我想多了,哈哈哈。 ?...('scroll', scrollEvent, false); // 开始动画的滚动距离 // startOpen startOpen = $('#imgWrapper').offset(...图片缩小 这里我们不使用 transform: matrix 来这个放大缩小,我们使用 background-position background-size 来进行图片的 「缩小/放大和偏移」

1.9K60

超全面的 UI 工作流程指南(四):切图标注

另外一般这些切图的文件较大,在切图过程中需要控制切图文件的大小。 全屏类切图 局部类切图 3. 动效元素切图 动效元素切图一般是指在 app 中加载动效所需要的切图元素。...这些动画通过一个叫 Bodymovin 的开源 After Effects 插件,以 JSON 文件的形式进行输出。Lottie 通过 JSON 格式下载动画数据并实时提供给开发者。...如何导出json动画文件 打开 AE,首选项 – 常规,将允许脚本写入文件访问网络选项勾选上。...窗口 – 扩展 – Bodymovin,选择好合成保存路径后,点击 Render 导出 data.jason 文件,再把该文件交给 iOS 开发 (其他同理),具体如下图: 这里设置选择 Demo...常用英文单词表 标注软件 现如今市场已有很多设计交互的平台,:国内的摹客、墨刀等,国外的 Figma、invision 等,各自都有优秀的特点,既满足交互需求,又能有标注切图功能,选择适合自己团队的工具与开发一起协作即可

3.1K41

说lottie谁是lottie?

Gif 动画存在一些问题,例如:文件较大、无法缩放匹配不同屏幕大小密度、易出现锯齿、无法控制动画等。...Lottie 简介 Lottie 是 airbnb 开源的动画库,支持多个平台 Android、iOS、Web、React Native Windows。其提供从 AE 到各终端的完整工具流程。...设计师可以通过 AE 的 Bodymovin 插件将动画导出为 json 文件,然后通过 Lottie 实现动画效果,确保动画的还原度。...lottie实现的动画效果: jcode lottie-web lottie-web 支持多种特性,提供复杂的动画控制监听功能。...dom 已经被添加到 html 后触发 destroy 将在动画删除时触发 Lottie 动画性能 对比 Lottie Gif 动画,数据显示 Lottie 动画文件更小,帧率更高,而且其性能表现更好

32720

又来了!实现微信 “炸屎”大作战

1.丢炸弹 这一步,我们可以用二次函数的知识,来写一个轨迹路径(类似 y = ),然后通过tween.js来补间动画。 2.炸弹爆炸 利用lottie 来实现动画。...Lottie是一个库,可以解析使用AE制作的动画(需要用bodymovin导出为json格式),支持web、ios、androidreact native。...('.bodymovin'), // 要包含该动画的dom元素 renderer: 'svg', // 渲染方式,svg、canvas、html(轻量版仅svg渲染) loop...3.4动画 由于这里丢炸弹类似,我就不详细展开讲了。需要提一下的是,由于粑粑是先从炸弹位置出来,再缓缓下来,这里我们需要利用两次 Tween 补间动画。...但是希望能给大家提供一个好玩的思路,在做动画的时候可以利用 lottie tween 两个库,以及将复杂问题简单化,把不规律的东西变成规律的东西,把复杂的东西变成简单的,最后再一步步地去深化。

1.3K20
领券