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. xcode8 info.plist文件中的各种权限。

    NSContactsUsageDescription -> 通讯录 NSMicrophoneUsageDescription -> 麦克风 NSPhotoLibraryUsageDescr ...

  2. for变量作用域(vc6与vs)

    for变量:写在for循环初始语句中的变量.如:for (int i=1,j=2; i<100; i++) vc6的for变量 int i 的作用域: void func(bool condit ...

  3. LeetCode——Best Time to Buy and Sell Stock III (股票买卖时机问题3)

    问题: Say you have an array for which the ith element is the price of a given stock on day i. Design a ...

  4. MongoDB学习笔记(1):MongoDB简介

    1. MongoDB的特点: (1) 易于使用 MongoDB是一个面向文档的数据库,非关系型数据库.通过在文档中嵌入式文档和数据,面向对象的方法能够仅使用一条记录来表现复杂的层次关系.文档的键和值不 ...

  5. 【MongoDB】4.MongoDB 原子修改器的 极速修改

    文档转自:http://blog.csdn.net/mcpang/article/details/7752736 对于文档的更新除替换外,针对某个或多个文档只需要部分更新可使用原子的更新修改器,能够高 ...

  6. 解决Eclipse左键无法查看maven第三方包的源代码,多图亲测可用【转】

    Debug进不了的原因及解决办法: 一.ctrl+左键点击没有找到你的源码 1.先设置maven 2.通过maven下Jar包源码 选中总包目录下的pom.xml-->右键-->Run A ...

  7. 为什么<b></b>不推荐使用

    曾经在网上看见说:不推荐是用b标签,咦,我好像用过不少,难道我又坑了别人……度娘是这样说的:只要是从网页的简洁性和搜索引擎的友好度来看的.<b>是加粗,和css的font-weight在视 ...

  8. Shader实例:边缘发光和描边

    效果图: 1.边缘发光 思路:用视方向和法线方向点乘,模型越边缘的地方,它的法线和视方向越接近90度.点乘越接近0 那么用 1-减去上面点乘的结果,来作为颜色分量,来反映边缘颜色强弱. Shader ...

  9. 基于FS4412的DS18B20温度采集编程实现(1-时序分析)

    作者:秦老师,华清远见嵌入式学院讲师. 一.DS18B20简介 DS18B20是常用的数字温度计.DS18B20数字温度计提供9至12位(可配置)温度读数,表明该设备的温度. 信息通过单总线接口被发送 ...

  10. C#自定义控件属性显示在属性面板中操作

    private Color controleColor; [Browsable(true)] [Description("控件颜色"), Category("自定义&qu ...