????? 在进行Javascript开发,有时会有一些动画效果的实现需要,这往往浪费了开发人员不必要的精力。而Ext开发小组则提供了Fx类(类Ext.Fx )集中处理了大部分常用的js动画特效,减少了我们自己手写代码的复杂度。
????? 这是一个提供基础动画和视觉效果支持的类。注意:此类被引用后会自动应用于 Ext.Element 的接口, 因此所有的效果必须通过 Element 对象来实现。反过来说,既然 Element 对象实际上并没有定义这些效果, Ext.Fx 类必须被 Element 对象引用后才能使那些效果生效。
?
下面我给出一个简单的实例代码,其中囊括了大部分的Ext动画效果:
?
// 通过id获取
var el = Ext.get("my-div");
// 通过DOM元素引用by DOM element reference
var el = Ext.get(myDivElement);
1、 fadeIn( [Object options] ) :
? Ext.Element 渐显 options参数有以下属性
callback:Function??? 完成后的回叫方法
scope:Object??????? 目标
easing:String???????行为方法 默认值是:easeOut,可选值在ext_base中找到,但没有说明,以下内容从yahoo ui中找到的
easeNone: 匀速
easeIn: 开始慢且加速
easeOut: 开始快且减速
easeBoth: 开始慢且减速
easeInStrong: 开始慢且加速,t的四次方
easeOutStrong: 开始快且减速,t的四次方
easeBothStrong: 开始慢且减速,t的四次方
elasticIn:
elasticOut:
elasticBoth:
backIn:
backOut:
backBoth:
bounceIn:
bounceOut:
bounceBoth:
afterCls:String??????? 事件完成后元素的样式
duration:Number??????? 事件完成时间(以秒为单位)
remove:Boolean??????? 事件完成后元素销毁?
useDisplay:Boolean??? 隐藏元素是否使用display或visibility属性?
afterStyle:String/Object/Function??????? 事件完成后应用样式
block:Boolean??????? 块状化
concurrent:Boolean??? 顺序还是同时执行
stopFx :Boolean??? 当前效果完成后随合的效果是否将停止和移除
?
2、fadeOut( [Object options] ) : Ext.Element 渐隐
fadeOut和fadeIn能使用一个特别的endOpacity属性以指示结束时的透明度
例:el.fadeIn({duration:5,endOpacity:0.7});
?
3、frame( [String color], [Number count], [Object options] ) : Ext.Element 边框变亮扩展然后渐隐
例:el.frame("ff0000", 10, { duration: 3 })
?
4、ghost( [String anchor], [Object options] ) : Ext.Element 渐渐滑出视图,anchor定义
tl???? 左上角(默认)
t????? 上居中
tr???? 右上角
l????? 左边界的中央
c????? 居中
r????? 右边界的中央
bl???? 左下角
b????? 下居中
br???? 右下角
例:
el.ghost('b', {
??? easing: 'easeOut',
??? duration: .5
??? remove: false,
??? useDisplay: false
});
?
5、hasActiveFx() : Boolean 指示元素是否当前有特效正在活动
?
6、hasFxBlock() : Boolean 是否有特效阻塞了
?
7、highlight( [String color], [Object options] ) : Ext.Element 高亮显示当前元素
例:el.highlight("ffff9c", {
??? attr: "background-color", //can be any valid CSS property (attribute) that supports a color value
??? endColor: (current color) or "ffffff",
??? easing: 'easeIn',
??? duration: 1
});
?
8、pause( Number seconds ) : Ext.Element 暂停
?
9、puff( [Object options] ) : Ext.Element 元素渐大并隐没
例:el.puff({
??? easing: 'easeOut',
??? duration: .5,
??? remove: false,
??? useDisplay: false
});
?
10、scale( Number width, Number height, [Object options] ) : Ext.Element 缩放
例:el.scale(
??? [element's width],
??? [element's height], {
??? easing: 'easeOut',
??? duration: .35
});
?
11、sequenceFx() 特效序列
12、shift( Object options ) : Ext.Element 位移,并可重置大小,透明度等
例:
el.shift({
??? width: [element's width],
??? height: [element's height],
??? x: [element's x position],
??? y: [element's y position],
??? opacity: [element's opacity],
??? easing: 'easeOut',
??? duration: .35
});
?
13、slideIn( [String anchor], [Object options] ) : Ext.Element 淡入
14、slideOut( [String anchor], [Object options] ) : Ext.Element 淡出
例:el.slideIn('t', {
??? easing: 'easeOut',
??? duration: .5
});
15、stopFx() : Ext.Element 停止特效
16、switchOff( [Object options] ) : Ext.Element 收起并隐没
例:
el.switchOff({
??? easing: 'easeIn',
??? duration: .3,
??? remove: false,
??? useDisplay: false
});
17、syncFx() : Ext.Element 异步特效
?
?
?
?