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. 时间戳与日期时间互转C语言

    /*  * ctime.h  *  *  Created on: May 19, 2016  *      Author: root  */   #ifndef CTIME_H_ #define CT ...

  2. javaSE基础02

    javaSE基础02 一.javac命令和java命令做什么事情? javac:负责编译,当执行javac时,会启动java的编译程序,对指定扩展名的.java文件进行编译,生成了jvm可以识别的字节 ...

  3. 51. N-Queens

    题目: The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two que ...

  4. VR技术的高速发展阶段

    转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 在虚拟现实技术的高速发展阶段,与虚拟现实密切相关的计算机图形学.数字图像处理.传感技术等学科迅速发展,从 ...

  5. iOS键盘输入屏幕上移

    在iOS开法中经常会遇到键盘遮挡屏幕的事情(比如输入账号密码验证码等等),就使得原本都不大的屏幕直接占了一半甚至更多的位置,这倒无所谓,关键是挡住了下面的按钮.这样的话按钮的事件也就触发不了,最好的解 ...

  6. python学习笔记(1)

    python简介 python是Guido van Rossum在圣诞节打发无聊的时间时候写出来的语言. python是解释性的语言. python是动态类型的语言. python是强类型定义语言(高 ...

  7. ENode 1.0 - Saga的思想与实现

    开源地址:https://github.com/tangxuehua/enode 因为enode框架的思想是,一次修改只能新建或修改一个聚合根:那么,如果一个用户请求要涉及多个聚合根的新建或修改该怎么 ...

  8. initrd image比lvm.conf文件舊導致RHCS切換服務unmount failed,reboot

    在RHCS服務切換的時候,unmount盤的時候,發現會failed,並且直接導致reboot. 在message里看到這樣一段 [lvm] * initrd image needs to be ne ...

  9. PAT A 1118. Birds in Forest (25)【并查集】

    并查集合并 #include<iostream> using namespace std; const int MAX = 10010; int father[MAX],root[MAX] ...

  10. [leetcode] 题型整理之字符串处理

    71. Simplify Path Given an absolute path for a file (Unix-style), simplify it. For example,path = &q ...