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. (2016弱校联盟十一专场10.3) D Parentheses

    题目链接 把左括号看成A右括号看成B,推一下就行了.好久之前写的,推到最后发现是一个有规律的序列. #include <bits/stdc++.h> using namespace std ...

  2. C#运算符

    运算符 1.算数运算符 赋值运算符 等号在C#中并不是表示相等的意思,而是表示赋值,把等号右边的值赋值给 等号左边的变量 由等号连接的表达式,叫做赋值表达式.我们要求等号两边的数据类型必须一 致. 2 ...

  3. Oracle insert大量数据经验之谈(转)

    在很多时候,我们会需要对一个表进行插入大量的数据,并且希望在尽可能短的时间内完成该工作,这里,和大家分享下我平时在做大量数据insert的一些经验. 前提:在做insert数据之前,如果是非生产环境, ...

  4. CozyRSS开发记录7-了解RSS

    CozyRSS开发记录7-了解RSS 1.初窥RSS 多找几个RSS源就会发现,有的源是用Atom协议提供的,有的源是RSS协议提供的.RSS协议有过几个版本,0.9.1.0和2.0等,理论上支持2. ...

  5. 整理UWP中网络和设备信息获取的帮助类,需要的拿走。

    网络(运营商信息,网络类型) public static class NetworkInfo { /// <summary> /// 网络是否可用 /// </summary> ...

  6. Slate中绑定动态数据

    https://answers.unrealengine.com/questions/232322/slate-blurred-border-shadow.html

  7. Compare Version Numbers

    Compare two version numbers version1 and version1. If version1 > version2 return 1, if version1 & ...

  8. import this, Python 之禅

    优美胜于丑陋(Python 以编写优美的代码为目标) 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似) 简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现) 复杂胜于凌乱(如果复杂不 ...

  9. Leetcode Valid Sudoku

    Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ...

  10. ACM: NBUT 1107 盒子游戏 - 简单博弈

     NBUT 1107  盒子游戏 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:  Practice  Appoint ...