引人注目的网站动画可以真正吸引眼球,并有助于增加转化次数。 不幸的是,动画绝不容易创建。 网站开发人员花了很多时间来设计,审阅和修改其动画,然后才能将其投放世界。 尽管许多开发人员使用Adobe Flash平台简化了在时间轴上补间对象的艰巨任务,但由于移动设备上缺少Flash支持,许多开发人员开始使用JavaScript。

为了满足对JavaScript动画不断增长的需求,软件供应商已经创建了一些出色的开发工具。 这些供应商之一,GreenSock,提供了一些非常有用且成熟的工具,用于补间对象并将它们置于时间轴上。 这些工具很成熟,因为GreenSock并不是这个行业的新手。 他们已经创建并继续创建Flash ActionScript动画工具,并且已经移植了这些工具以支持JavaScript。

在本文中,我将简要介绍用于补间和时间轴构建的GreenSock工具。

时间轴上的补间简介

动画开发人员使用“补间”来填充两个时间点之间的动画帧。 (单词“ tween”源自单词“ between”。)例如,当开发人员希望对从A点滚动到B点的球进行动画处理时,她只需要在每个端点绘制球的图片,然后让计算机之间填充框架。

动画开发人员使用时间表来移动他们的动画。 例如,开发人员精确地指定了球何时从点A释放以及何时到达点B。此外,开发人员使用“缓动”功能来控制球如何沿其路径加速和减速。 缓和使球看起来符合熟悉的物理定律。

时间轴上的补间可能会变得非常复杂,尤其是当屏幕上有多个对象在移动时,每个对象都有自己的路径,速度和时间线。 在设计审查后需要合并修订时,情况将变得更加复杂。 事实证明,以编程方式而不是以图形方式修改补间和时间线要容易得多。 换句话说,您不必更改某些修订版本的框架,而只需更改一些数字变量即可。

GreenSock工具

GreenSock有四个主要的动画库:TimelineLite,TimelineMax,TweenLite和TweenMax。 “ Max”版本以面向对象的方式扩展了“ Lite”版本,以稍大的文件大小为代价提供了更多功能。 通常,您可以免费使用这些库。 但是,我建议您购买许可的套餐,并成为“ Club GreenSock”的一部分。 这为您提供了最新的Beta版本以及一些很酷的扩展。 另外,您的许可证适用于JavaScript和ActionScript版本。

GreenSock库的名称是不言自明的:“ Tween”库允许您在屏幕周围补间可见元素,而“ Timeline”库则允许您在对象组上创建独立的时间线。 请注意,一个对象可以是多个时间轴的一部分。

让我们看一个简单的例子,看看时间轴上的补间如何与GreenSock工具一起工作。

雨信

我们将建立一个简单的动画,其中短语“在时间轴上补间”中的每个字母都独立地进入视野,弹跳然后就位。 首先,我们使用以下HTML文件设置舞台。

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>Tweening on a Timeline</title><script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/TweenMax.min.js"></script><script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script><script src="js/raining.js"></script><link href="css/style.css" rel="stylesheet" type="text/css" /></head><body><div id="stage"><div id="raining-text">Tweening on a Timeline</div></div></body>
</html>

请注意,第6行包含了GreenSock工具TweenMax。此外部引用的文件包含大多数主要的GreenSock库,包括时间轴文件和一些辅助库。 在您自己的应用程序中,应该从本地目录加载这些库,而仅加载所需的库。 为了简单起见,在此示例中加载了所有内容。

还要注意,我们在第7行加载了jQuery库。GreenSock工具完全不需要jQuery。 但是,如果您碰巧加载了jQuery,GreenSock会很好地使用它。

第8行显示了本地raining.js文件的加载。 这是控制动画的文件,稍后我们将对其进行更仔细的研究。

最后,请注意,主体包含stageraining-text元素。 stage是在其中进行动画的窗口, raining-text元素包含将要动画的短语。

接下来,我们使用style.css文件设置所有样式:

@charset "UTF-8";
#stage {background-color: #000000;width: 600px;height: 250px;position: relative;margin-top: 20px;overflow: hidden;
}#raining-text {color: #ffffff;font-family: Arial, sans-serif;font-size:24px;position: absolute;bottom: 5px;width: 100%;text-align: center;
}

此CSS文件中有几件事需要注意。 首先, stage使用相对定位。 这允许更容易地定位其中所包含的绝对定位的元素。 其次, stage溢流被隐藏了。 这样可以防止您的动画干扰舞台外的元素。 最后,下雨文字的位置由bottom属性设置。 该属性将在动画中进行操作。

现在,让我们看一下发生所有动作的raining.js文件。

// Sample script for Tweening on a Timeline
$(function() {var rainingPhrase = $("#raining-text");var tl = new TimelineLite();tl.add(TweenLite.set(rainingPhrase, {bottom: 250}));tl.add(TweenLite.to(rainingPhrase, 2, {bottom:5, ease: Bounce.easeOut}));
});

在第3行中,我们使用jQuery为下雨文本创建选择器rainingPhrase 。 如前所述,GreenSock不依赖jQuery,但可以使用jQuery(如果有)。

在第5行,我们创建了一个时间轴,并使用变量tl对其进行引用。 GreenSock时间线用于按顺序将各个操作分组。 在这种情况下,我们创建两个动作:1)在舞台上方设置短语,该短语将被overflow属性隐藏,2)将文本放到舞台底部。

让我们看一下第6行的第一个动作。我们通过实例化一个新的TweenLite对象然后在该对象上使用set类函数来创建补间。 对象本身是第一个参数,第二个参数内的对象指定了操作。 在这种情况下,我们将rainingPhrase对象的bottom属性设置为使其移到舞台上方。 set功能实际上是在不动的情况下立即操纵对象。

如果我们只是立即移动某些内容,补间的目的是什么? 好吧,如果加载或运行GreenSock库时出现问题,原始的下雨文本将不会从其原始位置移开。 基本上,如果由于某种原因动画无法运行,我们会将文本放置在舞台上有意义的位置。

可见动作发生在第7行。由于此行中的补间是在第6行补间之后添加到时间线的,因此它将不会执行,直到前一个补间完成为止。 请注意,并不一定总是这样。 我们可以在此补间中使用“负延迟”属性,以使其在前一个补间完成其操作之前作用于目标对象。 但是,在这种情况下,我们希望上一个补间运行完成。

第7行的补间被实例化,并立即运行to class函数。 该函数从本质上说:“将对象从其当前状态转换为目标状态。” 将对象本身指定为第一个参数,在第二个参数中指定操作的持续时间(以秒为单位),第三个参数指定操作的类型。 请注意,该操作实际上可以包含任何CSS属性,例如scalerotationcolor等。在这种情况下,该操作指定将对象移动到舞台的底部。

缓动功能不是以线性方式将对象滑动到舞台的底部,而是给动画带来了一些乐趣。 通过将缓动函数指定为Bounce.easeOut ,我们告诉系统在实现动画时模拟弹跳球。

如果运行该程序,则会看到页面加载时,整个短语最初出现在舞台的顶部,然后加速到底部。 当它跌至最低点时,它会反弹几次直到停止。 酷,是吗?

但是有一个问题。 我没有兑现让每个角色独立掉下来弹跳到位的承诺。 相反,整个短语会下降并作为一个单元反弹。 这是一个有趣的动画,但我们需要对其进行一些补充。

问题在于我们需要将该短语分解为单个字符。 这可能是很多工作。 如果要用困难的方式做到这一点,则必须将短语拆分为各个非阻塞的div元素,将每个div加载到时间轴中,并希望将其放到适当的位置以便看起来像原始短语。 想象一下进行所有这些编码,只是发现市场营销部门想将短语改为其他内容,例如“带有补间的时间轴”。

幸运的是,有一个简单的解决方案。 它称为SplitText。 如果您是Club GreenSock俱乐部的成员,则可以访问一个名为SplitText.min.js的不错的插件文件。 SplitText引用文本字符串,并将其拆分为单个字符,然后将其加载到数组中。 然后,可以将数组与TimelineLite stagger函数一起使用,该函数将自动为每个SplitText对象构建一个独立的时间轴。

让我们看看它是如何工作的。

首先,将SplitText.min.js文件放入JavaScript目录,然后在HTML文件中引用它,如下面的第7行所示。

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>Tweening on a Timeline</title><script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/TweenMax.min.js"></script><script src="js/SplitText.min.js"></script><script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script><script src="js/raining.js"></script><link href="css/style.css" rel="stylesheet" type="text/css" /></head><body><div id="stage"><div id="raining-text">Tweening on a Timeline</div></div></body>
</html>

请注意,SplitText无需jQuery即可自动查找文本元素,因此您可以在第8行删除对它的引用。唯一的问题是,您将不得不使用其他“文档就绪”功能,而不是$(function(){})raining.js使用的$(function(){})函数。

现在,让我们看一下最酷的部分。 实际上,我们可以拆分文本,将其预置在舞台上方,然后仅用四行JavaScript代码将各个字符放到舞台上! 打开raining.js并如下所示进行更改。

// Sample script for Tweening on a Timeline
$(function() {var splitPhrase = new SplitText("#raining-text", {type: "chars"});var tl = new TimelineLite();tl.staggerTo(splitPhrase.chars, 0, {bottom: 250}, 0);tl.staggerTo(splitPhrase.chars, 2, {bottom: 5, ease: Bounce.easeOut}, 0.02);
});

在此代码中,我们在第3行上创建了对拆分文本的引用。SplitText对象采用两个参数:对该文本的引用和对该文本执行的拆分类型。 在这种情况下,我们拆分了字符,尽管我们也拆分了行和单词,或全部三者的组合。 现在, splitPhrase变量包含一个字符数组,我们将在后面参考。

我们与本文前面的内容完全一样,在第4行构建时间轴。

第5行使用了称为staggerTo的TimelineLite函数。 此函数将对象数组作为其第一个参数,并为每个对象构建单独的时间轴和补间。 第二个参数提供持续时间值-在这种情况下,我们需要即时操作,因此我们将其持续时间设置为零。 (请记住,我们正在将角色预先放置在舞台上方。)第三个参数包含对数组中每个对象执行的“ to”操作,第四个参数指定使每个对象的时间轴错开的时间。

第6行是所有动作发生的地方。 看起来与第5行完全一样,只是参数已更改。 在这种情况下,我们将所有字符在两秒钟的时间内移到舞台底部,将它们错开0.02秒,并使用模拟跳动的缓动功能。

结论

网站动画可以真正吸引眼球,并帮助将访问者转化为客户。 但是创建这些动画绝非易事。 您必须使用JavaScript来确保动画在从台式机到移动设备的所有设备上呈现。 许多供应商正在创建JavaScript工具来帮助完成此过程。 本文重点介绍GreenSock工具。 使用GreenSock的时间轴和补间工具,您可以使用逼真的缓动功能快速创建动画,并且由于这些工具在代码中运行,因此易于实现修订。 在本文中,我们创建了一个简单的示例,在该示例中,我们将一个短语分解为字符,然后将它们一次放到舞台上,在舞台上它们一起重新组合为一个短语。 我们仅用四行代码就完成了大部分操作!

编辑: GreenSock的优秀人士向我们发送了此CodePen,以补充本文。

请参阅CodePen上由GreenSock( @GreenSock ) 撰写的 补充SitePoint的笔演示 。

From: https://www.sitepoint.com/eye-catching-animations-greensock/

GreenSock引人注目的动画相关推荐

  1. greensock下载_GreenSock引人注目的动画

    greensock下载 引人注目的网站动画可以真正吸引眼球,并有助于增加转化次数. 不幸的是,动画绝不容易创建. 网站开发人员花了很多时间来设计,审查和修改其动画,然后才能将其投放世界. 尽管许多开发 ...

  2. GreenSock面向初学者:Web动画教程(第1部分)

    我在本文中的目的是向您全面介绍GreenSock ,也称为GSAP(GreenSock动画平台),这是一种用于现代Web的高性能,专业级HTML5动画引擎. 这是" 超越CSS:动态DOM动 ...

  3. svg配合css3动画_与Sarah Drasner一起使用CSS,JS和SVG进行动画处理,并避免倦怠

    svg配合css3动画 In this episode of the Versioning Show, Tim and David are joined by Sarah Drasner, a tea ...

  4. 从手机端 H5 制作来看 WEB 动画的术与道

    我们在微信朋友圈里经常看到很多人分享 H5 的链接,有的科技感十足,有的展示炫目,有的非常有创意,各大公司也把H5作为他们品牌传播,活动预热的很好方式.企业商户对于这种方式也很有好感,从而导致了 H5 ...

  5. 零基础也能快速上手的动画制作工具 | 万彩动画大师

    大多数人认为制作高质量的动画视频是很困难的,事实上,不一定是这样.找到一款好的软件,零基础也能轻松制作精美的动画视频.那么,福利来了!这4款快速制作动画的软件推荐给你,快来看看吧! 万彩动画大师免费制 ...

  6. 炫酷的展示画册制作神器,你确定不心动吗 | 万彩动画大师

    区别于传统销售人员带着PPT的冗长讲解,新型产品营销方式以创意动画视频为宣传途径,通过简短的视频介绍,生动有趣的动态画面,轻松地表达产品的特色和功能.那么,好看的产品展示动画制作难做吗?要找动画公司制 ...

  7. html5动画模板_使基本HTML模板更上一层楼的动画

    html5动画模板 动画可以使您的网站演示文稿更上一层楼. 正确的动画将对您网站的用户体验产生积极的影响,加强每次互动并创造令人难忘的体验. 另一方面,选择不当的动画可能会破坏体验,迷惑用户并可能会降 ...

  8. FCPX自定义分屏字幕插件:Stupid Raisins Split Pop效果展示

    Stupid Raisins Split Pop是一个自定义视频和图片的分屏动画插件,它允许您在Final Cut Pro,Motion,Premiere Pro和After Effects中使用.f ...

  9. MovieMator Video Editor Pro for Mac(专业视频编辑软件) v2.5.4中文激活版

    MovieMator Video Editor Pro for Mac(剪大师专业版)破解版是一款非常不错的视频编辑软件.MovieMator Video Editor Pro 能够提供最直观,最简单 ...

最新文章

  1. 中序非递归遍历二叉树
  2. MVC中,视图的Layout使用
  3. Go变量地址值和指针的关系
  4. flash as3 android air 插入视频,FLASH加载外部影片as3代码
  5. style和theme:一组属性值
  6. 光学镜头行业发展现状及趋势,智能手机应用领域占比最高
  7. oracle身份证号substr,Oracle substr()与substrb()
  8. 亲密关系(二、月晕现象)
  9. 51单片机实战教程基础硬件篇(一 电子元件PCB 封装库设计教程)
  10. VSCode C++ control reaches end of non-void function [-Wreturn-type]
  11. 如何解决fillRect方法画矩形变形的问题?
  12. 拯救不开心!我的机器人心理医生;机器学习的KPI千里追踪术;YOLO v7的PyTorch实现;李航新书『机器学习方法』开放试读 | ShowMeAI资讯日报
  13. 专升本英语——菜鸟学习笔记【知识点齐全-轻松学习】!!!
  14. 传统行业+互联网思维
  15. 目前流行的计算机配置有哪些,2019最流行电脑配置
  16. Debian简介与Debian源
  17. 苏州技师学院计算机专业怎么样,苏州技师学院口碑怎么样
  18. 个人站长怎么兼职赚钱
  19. matlab中弹性碰撞课程设计,仿真动画软件设计作品--物体完全弹性碰撞*
  20. 华清远见嵌入式c语言学习笔记

热门文章

  1. linux下如何make文件夹,Linux makefile 教程 非常详细,且易懂
  2. android xml设置roboto字体,Android:想要为整个应用程序而不是运行时设置自定义字体...
  3. 《算法笔记》总结及练习
  4. 如何进行Modbus 通讯测试
  5. 【发车优化】基于遗传算法的公交车调度排班优化的研究与实现附Matlab代码
  6. O奖得主也收藏的6大美赛数据库网站
  7. git 乌龟 git sync介绍
  8. 新手学习大数据技术如何入门?
  9. 【强化学习入门】三.马尔可夫家族中的MP、MRP、MDP分别是什么?
  10. 云班课大学计算机基础答案,《大学计算机基础》期末考试题目