一周学会Mootools 1.4中文教程:(6)动画
先看一下动画的参数设置:
参数:
fps - (number:默认是50) 每秒的帧数.
unit - (string:默认是 false) 单位,可为 'px','em',或 '%'.
link - (string:默认是 ignore) 可以是 'ignore','cancel' 和 'chain'.
'ignore'-当请求正在执行之中时,新的请求将被忽略
'cancel'-当请求正在执行之中时,将立即取消当前执行中的请求,开始执行新的请求
'chain'-当请求正在执行之中时,将会把新的请求链接在当前请求之后,依次执行所有请求
duration - (number:默认是 500) 相应的持续时间,除了数字外还可以为以下值:
'short' - 250ms
'normal' - 500ms
'long' - 1000ms
transition - (function:默认是 'sine:in:out') 动画过渡效果,大家可以测试一下下边的效果看看.The equation to use for the effect see Fx.Transitions. Also accepts a string in the following form:
transition[:in][:out] - 如,'linear','quad:in','back:in','bounce:out','elastic:out','sine:in:out' 事件:
onstart - (function) 当动画开始时触发.
oncancel - (function) 当动画被取消时触发.
oncomplete - (function) 当动画结束时触发.
onchainComplete - (function) 如果使用了'chain'选项,则当所有的动画链结束时触发 方法:
start://用于触发动画
set://用于设置动画的参数
cancel://用于终止运行中的动画
resume://返回一个之前暂停的动画 示例:
var opt={
fps:60,
link:'chain',//ignore,cancel,chain
duration:'long',//'short':250ms;'normal':500ms;'long':1000ms
transition:'bounce:out',//'linear','quad:in','back:in','bounce:out','elastic:out','sine:in:out' - [:in][:out]
onStart:function(){console.log('开始!');},
onComplete:function(){console.log('结束后!');}
}
$('b').set('morph',opt).morph({'width':500,'height':300});
我们来演示一个补间动画的实例:
var myFx=new Fx.Tween('Content',{//建立补间动画的对象,同时预设参数
fps:60,
duration:'long'
});
myFx.set('tween',{unit:'%'});//继续添加参数
$('Content').addEvents({//给节点绑定动画
'mouseenter':f1,//鼠标进入后执行f1
'mouseleave':f2,//鼠标进入后执行f2
'click':f3//点击后执行f3
});
function f1(){//鼠标进入后给节点设css
myFx.set('background-color','#f00');
}
function f2(){//鼠标离开后用start触发动画,让节点的高度改变,改变的幅度是百分比
myFx.start('height',[20,200]);
}
function f3(){//鼠标点击后触发动画改变节点高度
myFx.start('height',[20,200]);
}
另外补间动画Tween为我们提供了两个方法,分别是fade和highlight,下边的例子分别演示他们的用法:
示例1:
$('myElement').fade('out');//淡出节点
$('myElement').fade(0.7);//改变节点透明度. 示例2:
$('myElement').highlight('#ddf');
$('myElement').highlight('#ddf','#ccc');
这两个例子对于我们要实现一些简单的效果时会非常有用.没必要设置一大堆的参数.
有了前边的补间动画我们再来学一种变形动画:
var myFx=new Fx.Morph('Content',{//建立变形动画对象同时设置参数,Content是节点
fps:60,
duration:'long'
});
myFx.set('Content',{duration:'long',transition:'bounce:out'});//继续设置动画参数
$('Content').addEvents({//给节点绑定事件
'mouseenter':f1,//鼠标进入后执行f1
'mouseleave':f2,//鼠标离开后执行f2
'click':f3//鼠标点击后执行f3
});
function f1(){//鼠标进入后给节点设置初始css
myFx.set({
'height':200,
'width':200,
'background-color':'#f00',
'opacity':0.8
});
myFx.morph({height:100,width:100});
}
function f2(){//鼠标离开后触发动画,改变节点的高和宽
myFx.start({
'height':[10,100],
'width':[900,300]
});
}
function f3(){//鼠标点击后触发动画,改变节点的高,宽,背景色,透明度.
myFx.start({
'height':[200,900],
'width':[200,600],
'background-color':'#00f',
'opacity':0.2
});
}
好了,我已经把mootools的两大动画特效呈现在你的面前了,参数比较多需要多练习才能熟能生巧.童鞋们加油吧.如果有问题可以进入QQ群一起讨论(16648471)
一周学会Mootools 1.4中文教程:(6)动画的更多相关文章
- 一周学会Mootools 1.4中文教程:(7)汇总收尾
转眼之间已经第七课了,这也将成为最后一课,如果这7课下来您感觉水平没有达到预想的水平,没关系您可以继续关注本站的博文,我会陆续发一些类似的文章帮您提升水平,另外我最近打算和群里的几个Mootools爱 ...
- 一周学会Mootools 1.4中文教程:序论
刚才发了几篇Mootools(以后直接简称Moo或Mt,看到这两个名字的时候不要感到奇怪),有一位热心的朋友"追杀"告诉我说现在已经出到1.4了,就不要再纠结于1.2了,想象一下有 ...
- 一周学会Mootools 1.4中文教程:(1)Dom选择器
利器: 君欲善其事须先利其器,好吧因为我们的时间比较紧迫,只有六天而已,那么六天的时间用死记硬背的方式学会Mt犹如天方夜谭,因此我们需要借鉴一下Editplus的素材栏帮我们记忆就好了,当我们需要用到 ...
- 一周学会Mootools 1.4中文教程:(5)Ajax
ajax在我们前台的开发中是非常重要的,所以我们单独拿出一节课来讲述,首先我们看一下mootools的ajax构成 语法: var myRequest=new Request([参数]); 参数: u ...
- 一周学会Mootools 1.4中文教程:(3)事件
今天我們講解一下mt的事件部分,对于事件的讲解主要包含三部分,分别是:绑定,移除,和触发,我们首先来看一个例子 //jquery的事件绑定方式$('a').click(function){ alert ...
- 一周学会Mootools 1.4中文教程:(4)类型
Mootools的类型主要包含下边几部分:String:字符串;Number:数字;Array:数组;Object:对象;Json:;Cookie:. 这也是我们今天的讲述重点.每一种数据类型Mt都为 ...
- 一周学会Mootools 1.4中文教程:(2)函数
温故: 透过对上一节课的学习,相信大家对mt的选择器应该有了一定的认识了,我再放几个小示例让大家对选择器的复杂应用有所了解: <!DOCTYPE html PUBLIC "-//W3C ...
- Expression Blend实例中文教程(8) - 动画设计快速入门StoryBoard http://silverlightchina.net/html/tips/2010/0329/934.html
Expression Blend实例中文教程(8) - 动画设计快速入门StoryBoard 时间:2010-03-29 11:13来源:SilverlightChina.Net 作者:jv9 点击: ...
- Expression Blend实例中文教程(8) - 动画设计快速入门StoryBoard
上一篇,介绍了Silverlight动画设计基础知识,Silverlight动画是基于时间线的,对于动画的实现,其实也就是对对象属性的修改过程. 而Silverlight动画分类两种类型,From/T ...
随机推荐
- html系列教程--文本格式化
<b>定义粗体文本</b> <br /> <strong>定义加重语气</strong> <br /> <big>定 ...
- linux杂记(一)各硬件装置在linux中的代号
装置 装置在linux内的代号 IDE硬盘机 /dev/hd[a-d] SCSI硬盘机 /dev/sd[a-p] U盘 /dev/sd[a-p](与SCSI硬盘一样) CDROM /dev/cdrom ...
- MVC自学第一课
了解传统的ASP.NET WebForm ASP.NET 在02年问世,给Web开发领域带来了巨大转变.下图描述了当时微软的技术堆栈. ASP.NET WebForm 技术堆栈 (注:此图的含义为,W ...
- Oracle inner join、left join、right join 、+左边或者右边的区别
我们以Oracle自带的表来做例子 主要两张表:dept.emp 一个是部门,一个是员工表结构如下: emp name null? Type Empno not null number(4) enam ...
- c语言中 %p的含义
格式控制符“%p”中的p是pointer(指针)的缩写.指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数.printf函数族中对于%p一般以十 ...
- FIDO联盟:我们将杀死密码
前不久发布的三星S5与iPhone 5S一样,配备了指纹识别技术.但更为重要的是,这一识别器可以与PayPal关连,进而与多种支付系统相连.通过这一过程,你很可能会摆脱密码,用指纹就可以畅游网络.当然 ...
- [置顶] ProcessOn:划时代性的在线作图工具
ProcessOn是一款专业作图人员的社交网络,这里汇聚很多业界专家.学者,同时他们分享的作品又形成一个庞大的知识图库,你在学习专业知识的同时还可以结交一些志同道合的新朋友. ProcessOn核心设 ...
- Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建
1. openSUSE是一款优秀的linux. 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. 7.内存设置为2 ...
- C++中实现链表的删除和颠倒
MFC工程中关于链表的操作 1.对于给定的整数n,编写算法删除链表中第n个节点,该链表的第一个节点由first指向. 由于C++中没有关于node的标准头文件,要先手动定义node类,此处只定义了简单 ...
- javascript数组去重算法-----4
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...