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

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

怎么使用:

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

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

var T1;
T1 = new TimelineMax({
//delay: 0.3,
//paused: true
})

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

T1 = new TimelineMax({
// delay: 0.3,
//paused: true
onStart: function () {
options.onStart();
},
onComplete: function () {
options.onComplete();
}
})
.fromTo(el.sm1, 1, {
y: -100,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeOut
})
.fromTo(el.sm2, 1, {
x: 100,
opacity: 0
}, {
x: 0,
opacity: 1,
ease: Power3.easeOut
})

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

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

T1 = new TimelineMax({
//delay: 0.3,
//paused: true
})
.fromTo([$(".Jan_sm_1")], 0.5, {//
y: 50,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeNone
},0.3)
.fromTo([$(".Jan_txt_1")], 0.5, {
y: 50,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeNone
},0.6)
.fromTo([$(".m-logo")], 0.5, {
y: 50,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeNone
},0.9)
.fromTo([$(".sm-2")], 0.5, {
y: -20,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeNone
}, 1.5)

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

T1 = new TimelineMax({
//delay: 0.3,
//paused: true
})
.add("labal")
.fromTo([$(".Jan_sm_1")], 0.5, {//
y: 50,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeNone
},"labal")
.fromTo([$(".Jan_txt_1")], 0.5, {
y: 50,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeNone
},'labal+=0.6')
.fromTo([$(".m-logo")], 0.5, {
y: 50,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeNone
},'labal+=1')
.fromTo([$(".sm-2")], 0.5, {
y: -20,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeNone
}, 'labal+=2')

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

T1 = new TimelineMax({
//delay: 0.3,
//paused: true
}) .fromTo([$(".Jan_sm_1")], 0.5, {//
y: 50,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeNone
}, 1); T2 = new TimelineMax({
//delay: 0.3,
//paused: true
}).fromTo([$(".Jan_txt_1")], 0.5, {
y: 50,
opacity: 0
}, {
y: 0,
opacity: 1,
//rotation:90,
ease: Power3.easeNone
}, 1) T3 = new TimelineMax({
//delay: 0.3,
//paused: true
}).fromTo([$(".m-logo")], 0.5, {
y: 50,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeNone
},1) T4= new TimelineMax({
//delay: 0.3,
//paused: true
}).fromTo([$(".sm-2")], 0.5, {
y: -20,
opacity: 0
}, {
y: 0,
opacity: 1,
ease: Power3.easeNone
}, 1)
T1.add(T2).add(T3).add(T4);

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

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

我们可以使用staggerFromTo()方法

参数如下

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

    ALTER TRIGGER [InsertStoreJITOnloadQuantity] ON [dbo].[Sourceing] After INSERT AS --登記計劃數量(新增時YN=0) ...

  2. linux6的yum源

    [base]name=CentOS-$releasever-Basebaseurl=http://centos.ustc.edu.cn/centos/6/os/x86_64/gpgcheck=1gpg ...

  3. NET微信公众号开发-5.0微信支付(待测试)

    开发前准备. 1.0微信支付官方开发者文档 2.0官方demo下载 我们用c#所以选择.net版本 不过这个官方的demo根本跑步起来 3.0官方demo运行起来解决方案 4.0微信支付官方.net版 ...

  4. tp框架之Model类与命名空间

    1.获取系统常量信息 public function shuchu() { var_dump(get_defined_constants()); } 2.跨控制器或跨模块调用 function dia ...

  5. 安装oracle 10g 文件系统

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

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

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

  7. iOS第三方Api及常用框架总结

    iOS常用框架汇总: SVProgressHUD:产生覆盖层,禁止某种操作 SDWebImage: 专业下载图片框架 AFN:网络数据请求框架 MJExtension,模型对象之间互转 第三方分享第三 ...

  8. Log4j框架

    一.Log4j基本使用方法 Log4j由三个重要的组件构成:日志信息的优先级 Loggers,日志信息的输出目的地 Appenders,日志信息的输出格式 Layouts .日志信息的优先级从高到低 ...

  9. amd和CMD

    AMD(Modules/Asynchronous-Definition).CMD(Common Module Definition)规范区别? Asynchronous Module Definiti ...

  10. 编译原理-词法分析03-DFA

    0.术语 DFA Deterministic finite automation,确定性有穷自动机.一般用于翻译正则表达式. 状态state DFA中的圆圈,表示模式在识别过程中的位置. 转换tran ...