TweenMaxjs是一个性能很高的js动画框架,它与css3动画具有时间轴的概念。你可以很方便的把动画添加到一个时间轴队列里面去按照你需要的顺序去执行。

官网地址: http://greensock.com

怎么使用:

首先我们要做的是引入该文件,

第二步就是使用new关键字创建一个时间轴实例

  1. var T1;
  2. T1 = new TimelineMax({
  3. //delay: 0.3,
  4. //paused: true
  5. })

1.如果有一组动画同时开始动画,我们可以使用链式操作的方式实现

  1. T1 = new TimelineMax({
  2. // delay: 0.3,
  3. //paused: true
  4. onStart: function () {
  5. options.onStart();
  6. },
  7. onComplete: function () {
  8. options.onComplete();
  9. }
  10. })
  11. .fromTo(el.sm1, 1, {
  12. y: -100,
  13. opacity: 0
  14. }, {
  15. y: 0,
  16. opacity: 1,
  17. ease: Power3.easeOut
  18. })
  19. .fromTo(el.sm2, 1, {
  20. x: 100,
  21. opacity: 0
  22. }, {
  23. x: 0,
  24. opacity: 1,
  25. ease: Power3.easeOut
  26. })

2.如果有一组动画,按时间先后顺序一个一个的出现场景

我们可以使用FromTo()方法,positio参数时间设置不一样就行了

  1. T1 = new TimelineMax({
  2. //delay: 0.3,
  3. //paused: true
  4. })
  5. .fromTo([$(".Jan_sm_1")], 0.5, {//
  6. y: 50,
  7. opacity: 0
  8. }, {
  9. y: 0,
  10. opacity: 1,
  11. ease: Power3.easeNone
  12. },0.3)
  13. .fromTo([$(".Jan_txt_1")], 0.5, {
  14. y: 50,
  15. opacity: 0
  16. }, {
  17. y: 0,
  18. opacity: 1,
  19. ease: Power3.easeNone
  20. },0.6)
  21. .fromTo([$(".m-logo")], 0.5, {
  22. y: 50,
  23. opacity: 0
  24. }, {
  25. y: 0,
  26. opacity: 1,
  27. ease: Power3.easeNone
  28. },0.9)
  29. .fromTo([$(".sm-2")], 0.5, {
  30. y: -20,
  31. opacity: 0
  32. }, {
  33. y: 0,
  34. opacity: 1,
  35. ease: Power3.easeNone
  36. }, 1.5)

也可以通过添加一个标签(label),再相对于这个label去设置时间差

  1. T1 = new TimelineMax({
  2. //delay: 0.3,
  3. //paused: true
  4. })
  5. .add("labal")
  6. .fromTo([$(".Jan_sm_1")], 0.5, {//
  7. y: 50,
  8. opacity: 0
  9. }, {
  10. y: 0,
  11. opacity: 1,
  12. ease: Power3.easeNone
  13. },"labal")
  14. .fromTo([$(".Jan_txt_1")], 0.5, {
  15. y: 50,
  16. opacity: 0
  17. }, {
  18. y: 0,
  19. opacity: 1,
  20. ease: Power3.easeNone
  21. },'labal+=0.6')
  22. .fromTo([$(".m-logo")], 0.5, {
  23. y: 50,
  24. opacity: 0
  25. }, {
  26. y: 0,
  27. opacity: 1,
  28. ease: Power3.easeNone
  29. },'labal+=1')
  30. .fromTo([$(".sm-2")], 0.5, {
  31. y: -20,
  32. opacity: 0
  33. }, {
  34. y: 0,
  35. opacity: 1,
  36. ease: Power3.easeNone
  37. }, 'labal+=2')

也可以定义多条时间轴,把后面的时间轴添加到当前时间轴,就可以按顺序执行了

  1. T1 = new TimelineMax({
  2. //delay: 0.3,
  3. //paused: true
  4. })
  5.  
  6. .fromTo([$(".Jan_sm_1")], 0.5, {//
  7. y: 50,
  8. opacity: 0
  9. }, {
  10. y: 0,
  11. opacity: 1,
  12. ease: Power3.easeNone
  13. }, 1);
  14.  
  15. T2 = new TimelineMax({
  16. //delay: 0.3,
  17. //paused: true
  18. }).fromTo([$(".Jan_txt_1")], 0.5, {
  19. y: 50,
  20. opacity: 0
  21. }, {
  22. y: 0,
  23. opacity: 1,
  24. //rotation:90,
  25. ease: Power3.easeNone
  26. }, 1)
  27.  
  28. T3 = new TimelineMax({
  29. //delay: 0.3,
  30. //paused: true
  31. }).fromTo([$(".m-logo")], 0.5, {
  32. y: 50,
  33. opacity: 0
  34. }, {
  35. y: 0,
  36. opacity: 1,
  37. ease: Power3.easeNone
  38. },1)
  39.  
  40. T4= new TimelineMax({
  41. //delay: 0.3,
  42. //paused: true
  43. }).fromTo([$(".sm-2")], 0.5, {
  44. y: -20,
  45. opacity: 0
  46. }, {
  47. y: 0,
  48. opacity: 1,
  49. ease: Power3.easeNone
  50. }, 1)
  51. T1.add(T2).add(T3).add(T4);

注:如果不使用add把他们添加进去的话,4个会同事执行

3.如果有一组动画,效果相同。只是时间按选后顺序出现的场景

我们可以使用staggerFromTo()方法

参数如下

  1. .staggerFromTo( targets:Array, duration:Number, fromVars:Object, toVars:Object, stagger:Number, position:*, onCompleteAll:Function, onCompleteAllParams:Array, onCompleteScope:* )
  2. 第一个参数是目标元素---对谁做动画,可以睡是一组数组对象,可以是一个类似jQuery的对象($(“. myClass”)),也可以直接是一个css选择器(. myClass h2. myClass)
  1. T1 = new TimelineMax({
  2. delay: 0.3,
  3. //paused: true
  4. })
  5. .staggerFromTo([$(".Jan_sm_1"), $(".Jan_txt_1")], 0.5, {//错层队列动画,适合一组动画效果相同时间按选后顺序出现的场景
  6. y: 50,
  7. opacity: 0
  8. }, {
  9. y: 0,
  10. opacity: 1,
  11. ease: Power3.easeNone
  12. }, 0.3)

TweenMax学习一的更多相关文章

  1. TweenMax学习整理--特有属性

    TweenMax学习整理--特有属性   构造函数:TweenMax(target:Object, duration:Number, vars:Object) target:Object -- 需要缓 ...

  2. tweenMax学习笔记

    tweenMax是一款缓动插件,能实现很多牛逼的效果,在网上看了些demo,确实很吊,虽说很多用CSS3也能做出来,但是技多不压身,学之. 网上的demo还是很多的,但是资料不多,唯一能够让我有思绪的 ...

  3. TweenMax动画库学习(六)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  4. TweenMax动画库学习(五)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  5. TweenMax动画库学习(四)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  6. TweenMax动画库学习(一)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  7. TweenMax动画库学习(二)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  8. TweenMax动画库学习(三)

    目录               TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)           ...

  9. TweenMax动画库学习

    之前在做HTML5移动端开发的时候,用的都是Animate.css,这个插件封装的的确很好,但是在做一些缓动方面的动画,它也有一定的不足之处,比如手要写一个连续的动画,需要不停的去重复写函数,使得代码 ...

随机推荐

  1. Git配置姓名和邮箱问题

    今天在安装Git for windows完成后,配置姓名和邮箱.按照廖雪峰老师的步骤,在开始菜单里找到"Git"->"Git Bash",单击后并没有跳出 ...

  2. DIV+CSS 清除浮动方法总结

    DIV+CSS 清除浮动是页面布局中常见的问题,相信各位高手也都有自己的方法,今天在这里对常见的几种方法进行总结(PS:谈不上是原创,这里是我自己做的归纳总结,也是我自己内化的过程),希望对您能够有所 ...

  3. Java集合框架实现自定义排序

    Java集合框架针对不同的数据结构提供了多种排序的方法,虽然很多时候我们可以自己实现排序,比如数组等,但是灵活的使用JDK提供的排序方法,可以提高开发效率,而且通常JDK的实现要比自己造的轮子性能更优 ...

  4. IP地址的分类

    IPv4 地址的分类:   一,组成   1. 使用32位地址 2. 以点分十进制表示,如172.16.0.0,每一个数字对应于8个二进制的比特串,称为一个位组(octets).如某一台主机的IP地址 ...

  5. 算法系列:Fibonacci

    Copyright © 1900-2016, NORYES, All Rights Reserved. http://www.cnblogs.com/noryes/ 欢迎转载,请保留此版权声明. -- ...

  6. 二分K-means算法

    二分K-means聚类(bisecting K-means) 算法优缺点: 由于这个是K-means的改进算法,所以优缺点与之相同. 算法思想: 1.要了解这个首先应该了解K-means算法,可以看这 ...

  7. Marshal的简单使用

    终于从北京回上海了,第一次听unity开发者大会,感觉讲的都是一些Unity 5新功能的介绍,其实主要还是要靠自己去摸索那些新的功能,主要就是添加了新的GUI系统,貌似集成了NGUI到Unity中,取 ...

  8. 注解:【有连接表的】Hibernate双向1->N关联(仅N端控制关联关系)

    Person与Address关联:双向1->N,[有连接表的],N端控制关联关系 Person.java package org.crazyit.app.domain; import java. ...

  9. suse最小化安装

    Open suse 图形安装 用虚拟机vmware70 或者是Oracle VM VirtualBox安装 .镜像文件就是SLED-10-x86_64-DVD1 根据虚拟机设置吧镜像文件装入虚拟机中 ...

  10. 如何让win10实现关机确认-暂没确认

    为了实现关机时有提示确认,防止不小心触碰后不提示就关机了.本人安装有360软件小助手,发生过此事多次. 1.网上找到 http://zhidao.baidu.com/link?url=dYB0fl2S ...