greensock下载

今天的教程是一个使您印象深刻的东西,您编写了很少的代码即可实现如此令人愉快的动画。 GreenSock的一个非常聪明的小组的DrawSVG允许您逐步显示(或隐藏)SVG的笔触。 让我们通过构建动画预加载器来检查其工作原理。

DrawSVG会做什么?

如前所述,DrawSVG插件将赋予您显示(或隐藏)SVG笔触的功能,但它也可以从笔触中心(或任何位置/段) 向外进行动画处理。 这正是我们在接下来的练习中将要做的。

DrawSVG是GreenSock动画平台(GSAP)的一部分,可以在任何TweenLite,TweenMax,TimelineLite或TimelineMax动画中使用。 GSAP中所有流行的功能(运行时控件,回调,简化,覆盖管理,嵌套)也可以与您喜欢的SVG动画一起使用! * 拳头*

获取DrawSVG的副本

要获得DrawSVGPlugin plus文档和支持,需要具有GreenSock俱乐部会员资格 。 在撰写本文时,根据会员类型的不同,计划每年从50美元到150美元不等。

在Codepen上免费试用DrawSVGPlugin!

从GreenSock的DrawSVGPlugin Codepen链接到DrawSVGPlugin的是一个特殊的功能齐全的版本,因此可以随意分叉其中的任何一个,添加自己的SVG图形,并尝试使用DrawSVGPlugin。

注意 :特殊版本的插件仅在CodePen域上有效。

构建我们的装载机

以下代码代表了使此SVG加载程序正常工作所需的一切!

您可以在任何支持SVG的浏览器中找到演示渲染器 (如果忽略IE8和更早版本,将获得相当可靠的支持)。 您还可以在CodePen上查看完整的Filler Loader演示。

标记

这是我们需要的标记:

<body>
<svg version="1.1" viewBox="0 0 100 100" class="filler-loader">
<circle class="fill-path" cx="50" cy="50" r="40"/>
</svg>
<script src="path/to/jquery.js"></script>
<script src="path/to/TweenMax.min.js"></script>
<script src="path/to/DrawSVGPlugin.js"></script>
<script src="path/to/svganimation.js"></script>
</body>

在我们的index.html存在一个<svg>标签,其中包含一个<circle>标签。 附加到<circle>是两个有助于在边界框(黑色正方形)中定位的属性。 这两个属性是cxcy ,并将圆放置在<svg>元素的viewBox中。

您可以在下图中看到该系统的工作方式。 系列的第一帧表示我们的<circle>没有任何属性,第二帧添加cx="50" ,最后一帧添加cy="50" 。 这些属性的x和y是指将我们的形状定位在其相应的水平和垂直平面上的笛卡尔坐标系 。

circle的最后一个属性( r )设置circle的半径,即从圆的中心到框的边缘的长度。 随时在我的CodePen演示中调整该值,以查看更改后的结果。

风格

现在介绍一些样式。

.filler-loader {
height: 32px;
width: 32px;
transform: rotate(-90deg);
}
.fill-path {
fill: none;
stroke: white;
stroke-linecap: butt;
stroke-width: 8px;
}

此特定示例的样式非常少。 我们定义了一些widthheight (32 x 32) .fill-path类的约束,然后.fill-path类通过设置CSS区域中可供我们使用的一些SVG属性来赋予路径外观。 我们为路径指定宽度,颜色和笔划结束类型。 此演示的结束类型设置为butt并完全平方路径的端点。

现在,我们可以将圆旋转-90deg (逆时针)。 您可以根据以下屏幕截图查看原因。 左图描绘了旋转之前的圆,第二幅图描绘了旋转之后的圆。

现在要使工作正常。

var loader        = new TimelineMax({ repeat: -1 }),
fill_path     = $('.fill-path'),
fill_duration = 1.2,
fill_position = '+=.25'; // place tween .25secs after end of init tween
loader.fromTo( fill_path, fill_duration, { drawSVG: '0' }, { drawSVG: '100%' }, fill_position )
.to( fill_path, fill_duration, { drawSVG: '100% 100%' }, fill_position );

如果您从未见过TimelineMax呼叫,请不要担心。 您可以在此处进一步了解有关内容。

将TimelineMax视为要添加框架的时间线。 在我们的示例中,我们只有一个时间轴,其中包含一个对象,该对象具有key:value配对以控制动画的播放。 回放设置为重复,由分配给TimelineMax选项对象的repeat键的值-1表示。 由于我们使用jQuery进行DOM检索,因此我们使用.fill-path类作为钩子来捕获路径。 这是我们开始为路径设置动画时将使用的参考。

JavaScript的最后几行内容是魔术真正发生的地方。 包含drawSVG的对象首先从空( drawSVG: '0' )到填充( drawSVG: '100%' )顺时针启动路径动画开始。 现在,我们已经在一个方向上填充了路径,我们需要反转填充(逆时针)。 这是我们的to()方法出现的地方,并且我们将drawSVG设置为'100% 100%' 。 由于我们以100%结束填充动画,因此我们需要将填充再反转100%。 这将从当前笔触的任何位置到沿路径存在笔触的状态设置填充动画。 中提琴!

结论

正如我们所看到的,DrawSVG非常轻巧,并且可以快速设置,从而使SVG的路径动画对于初学者来说也非常有趣。 只需很少的配置,我们就可以将另一个工具库带入下一个项目,使交互和体验愉快。

如果您有任何疑问,请随时在下面的评论中提问。 动画愉快!

翻译自: https://webdesign.tutsplus.com/tutorials/create-an-animated-svg-loader-using-greensocks-drawsvg--cms-23067

greensock下载

greensock下载_使用GreenSock的DrawSVG创建动画SVG加载器相关推荐

  1. unity 异步加载网络图片_一个非常好用的AssetBundle资源加载器

    Loxodon Framework Bundle是一个非常好用的AssetBundle加载器,也是一个AssetBundle冗余分析工具.它能够自动管理AssetBundle之间复杂的依赖关系,它通过 ...

  2. 类加载器 java委托机制_解析Java虚拟机中类的初始化及加载器的父委托机制

    类的初始化 在初始化阶段,Java虚拟机执行类的初始化语句,为类的静态变量赋予初始值. 在程序中,静态变量的初始化有两种途径: 1.在静态变量的声明处进行初始化: 2.在静态代码块中进行初始化. 没有 ...

  3. greensock下载_使用GreenSock绘制Alligator.io SVG徽标

    greensock下载 To get the most out of this article it is important that you have a solid understanding ...

  4. 如何在React Native中创建精美的动画加载器

    by Vikrant Negi 通过Vikrant Negi 如何在React Native中创建精美的动画加载器 (How to create a beautifully animated load ...

  5. Spring容器创建流程(2)创建beanFactory,加载BeanDefinition

    Spring 容器的创建.obtainFreshBeanFactorr()中完成容器的创建.(BeanFactory关系类图,之前的执行流程可在本系列博客中看到).接下来看容器创建的第二部,创建bea ...

  6. VBA 创建和使用加载项

    今天讲点新的东西--创建和使用加载项,不过内容会有点无聊,因为都是文字内容 一.什么是加载项 最有用的功能之一,增加了工作的专业度,提供了一些关键优势.+ 1.和标准工作簿的比较 所有工作簿文件都可以 ...

  7. OkGo第三方框架的上传与下载+Glide图片加载器

    OkGo第三方框架 OkGo依赖:implementation 'com.lzy.net:okgo:3.0.4' OkGo下载文件 OkGo.<File>get("http:// ...

  8. MC基础教程#2 加载器、模组、光影、材质包、数据包下载及安装(国际Java版)

    MC基础教程系列第二期出了 和上一期隔了两年- 加载器 下载 Forge 老牌加载器,新版本( 1.13+ )不太好用 官网: https://files.minecraftforge.net/net ...

  9. “安装centOS7.0出现‘你没有创建加载器第一阶段设备,你没有创建可引导分区’,并提示可用空间不足”的解决方案

    前两天花费了很大力气安装CentOS7,终于安装成功了,现在把过程中遇到的问题和大家分享一下,希望能对大家有帮助. 具体问题如下: 1.已经留出足够的未分配磁盘空间,在CentOS7安装界面却显示&q ...

最新文章

  1. 33、springboot整合springcloud
  2. [翻译]Axure-Basic Interactions-原型设计工具Axure学习-第1.3节
  3. win7装64位oracle和PLSQL
  4. 小程序反编译 g is not defined_培生幼儿启蒙英语 Level B | 小牧羊女在哪?
  5. 03.Web大前端时代之:HTML5+CSS3入门系列~H5功能元素
  6. 大杀器TheFatRat
  7. 51单片机温度控制调速风扇仿真设计
  8. mac 删除ABC输入法
  9. JavaScript系列之高级篇(2)
  10. [08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is
  11. wx2540h配置教程_求高手解决H3C无线网络 WX3024E和无线AP设备之间的详细配置命令!...
  12. Visual Studio弃Coded UI Test 给开发者建议
  13. 【CXY】JAVA基础 之 语法基础
  14. 新入职百度某员工发飙:前人代码写得像一坨屎,不能忍受,颠覆了对大厂的认知,...
  15. 支付宝:验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配
  16. Java修改JTable单元格背景色
  17. 数字电子技术基础——第一章 绪论(笔记)
  18. VL600威锋typeC 转HDMI转接单芯片方案,支持DP1.4两LANE实现4K60,
  19. rbd: unmap failed: (16) Device or resource busy
  20. VS2010+QT4.8.5 +FastReport教程

热门文章

  1. 在pads2007中怎样设置走线的宽度
  2. 计算机二级vf上机题库,计算机二级VF上机题库
  3. 生成.sens格式数据集用于BundleFusion重建
  4. 教你免卷下载百度文库的文档!!!
  5. linux字符设备和块设备的区别 以及网络设备
  6. python如何截长图_利用 Python + Selenium 实现对页面的指定元素截图(可截长图元素)...
  7. 玻璃温室建造工程中不容忽视的桁架结构
  8. Matlab绘制垂直的直线图
  9. Android机顶盒开发工具小结
  10. 宝塔 cloudfare 523错误解决