【Java究竟怎么玩?】

思考因为存在,存在所以思考

原创 ExtJS2.0开发与实践笔记[4]——Ext中的动画处理收藏

在进行Javascript开发,有时会有一些动画效果的实现需要,这往往浪费了开发人员不必要的精力。而Ext开发小组则提供了Fx类集中处理了大部分常用的js动画特效,减少了我们自己手写代码的复杂度。

下面我给出一个简单的实例代码,其中囊括了大部分的Ext动画效果:

效果图如下:



操作图片如下:


CartoonExt.js
//图片宽
var WIDTH=300;
//图片高
var HEIGHT=262;
function reset() {
    
//以Ext获得指定元素,并指定此元素左边距、上方边距、右边距、下方边距
    Ext.get('target').highlight().setBounds(10,10,WIDTH+10,HEIGHT+10);
}

 
function act() {
    
//刷新
    reset();
    
//在指定时间内移动到指定位置
    Ext.get('target').setBounds(150,80,WIDTH+150,WIDTH+80,{duration:1.0});
}

/**
 * 播放连续动作
 
*/

function Anime(){
    Ext.get(
'target').highlight().fadeOut().fadeIn().pause(2).switchOff().puff();
    
//IE下不支持switchOn()方法,这是一个Ext的bug
}

/**
 * 淡出
 
*/
 
function fadeout() {
    
//设定最后不透明度为0.0(完全透明),持续时间为1.0,方式为easeNone
    Ext.get('target').setOpacity(0.0,{ duration:1.0,easing:'easeNone'});
}


/**
 * 淡入
 
*/

function fadein() {
    Ext.get(
'target').setOpacity(1.0,{duration:1.0,easing:'easeNone'});
}


function act2() {
    reset();
    
var easingMethod=document.getElementById('easing').value;
    Ext.get(
'target').setLocation(150,150,{
        duration:
1.0,
        easing:easingMethod
    }
);
}


CartoonExt.html
<html>
    
<head>
        
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        
<title>CartoonExt</title>
        
<!--加载ExtJs资源-->
        
<script type="text/javascript" src="adapter/ext/ext-base.js">
        
</script>
        
<script type="text/javascript" src="ext-all.js">
        
</script>
        
<!--我的js-->
        
<script type="text/javascript" src="CartoonExt.js">
        
</script>
    
</head>
    
<body>
        
<div style="width:300px; height:450px;">
          
<!--被移动的元素-->
            
<img id="target" src="sprite1.jpg">
        
</div>
        
<div style="text-align: center;">
            
<input type="button" value="刷新" onclick="reset();">
            
<input type="button" value="逐渐放大" onclick="act();">
            
<input type="button" value="淡出" onclick="fadeout();">
            
<input type="button" value="淡入" onclick="fadein();">
            
<input type="button" value="连续动画" onclick="Anime();">
            
<BR>
            
<BR>
               效果列表
            
<select id="easing">
                
<option value="easeNone">easeNone</option>
                
<option value="easeIn">easeIn</option>
                
<option value="easeOut">easeOut</option>
                
<option value="easeBoth">easeBoth</option>
                
<option value="easeInStrong">easeInStrong</option>
                
<option value="easeOutStrong">easeOutStrong</option>
                
<option value="easeBothStrong">easeBothStrong</option>
                
<option value="elasticIn">elasticIn</option>
                
<option value="elasticOut">elasticOut</option>
                
<option value="elasticBoth">elasticBoth</option>
                
<option value="backIn">backIn</option>
                
<option value="backOut">backOut</option>
                
<option value="backBoth">backBoth</option>
                
<option value="bounceIn">bounceIn</option>
                
<option value="bounceOut">bounceOut</option>
                
<option value="bounceBoth">bounceBoth</option>
            
</select>
            
<input type="button" value="执行" onclick="act2();">
        
</div>
    
</body>
</html>

部分参数如下:

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    当前效果完成后随合的效果是否将停止和移除

fadeOut( [Object options] ) : Ext.Element 渐隐
fadeOut和fadeIn能使用一个特别的endOpacity属性以指示结束时的透明度
例:el.fadeIn({duration:5,endOpacity:0.7});

frame( [String color], [Number count], [Object options] ) : Ext.Element 边框变亮扩展然后渐隐
例:el.frame("ff0000", 10, { duration: 3 })

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
});

hasActiveFx() : Boolean 指示元素是否当前有特效正在活动

hasFxBlock() : Boolean 是否有特效阻塞了

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
});

pause( Number seconds ) : Ext.Element 暂停

puff( [Object options] ) : Ext.Element 元素渐大并隐没
例:el.puff({
    easing: 'easeOut',
    duration: .5,
    remove: false,
    useDisplay: false
});

scale( Number width, Number height, [Object options] ) : Ext.Element 缩放
例:el.scale(
    [element's width],
    [element's height], {
    easing: 'easeOut',
    duration: .35
});

sequenceFx() 特效序列

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
});

slideIn( [String anchor], [Object options] ) : Ext.Element 淡入

slideOut( [String anchor], [Object options] ) : Ext.Element 淡出
例:el.slideIn('t', {
    easing: 'easeOut',
    duration: .5
});


stopFx() : Ext.Element 停止特效

switchOff( [Object options] ) : Ext.Element 收起并隐没
例:
el.switchOff({
    easing: 'easeIn',
    duration: .3,
    remove: false,
    useDisplay: false
});

syncFx() : Ext.Element 异步特效

发表于 @ 2008年03月29日 00:23:00|评论(loading...)

新一篇: 微软收购雅虎遇新难题 或遭中国反垄断法阻碍 | 旧一篇: 君临天下紫龙气——百度Hi

用户操作
[即时聊天] [发私信] [加为好友]
鹏凌三千(cping1982)
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
鹏凌三千(cping1982)的公告
PageRank

本博评论删除规则如下:

1、辱骂性发言,无视其辱骂对象,一律删。

2、登录发表的评论,不违背第一条者一律不删。非登录发表的评论,过激者删。

3、若发生例外情况,则为CSDN博客系统自动删除。

泥巴团队博客联盟成员

声援SOFF|声援珊瑚虫:如果你是珊瑚虫用户,请坚决力挺声援珊瑚虫!

平生进退如飙风,一睨人才天下空。独向苍天横冷剑,何必生我惭英雄。

本人有效BLOG:

在51cto的部落格

在csdn的部落格

在baidu的部落格

音乐:

风姿花传

ドラグ.スレイブ

ヒカルの碁

Believe

世界で一番ヤバイ恋

あんなに一緒だった

焔の扉

深海の孤独

君は仆に似ている

The ugly and beautiful world

静かな夜に

逆蝶

永恒的雪

梅花

几多愁

微风细雨

妈妈的歌

精忠报国

谁是大英雄

随遇而安

明天会吹什么风

逍遥游

爱江山更爱美人

文章分类
收藏
    Java的PC游戏开发
    Java中的A*(A star)寻径实现
    Java仿雷电及其源代码
    Java制作的类祖码游戏-数字祖码
    Java实现窗体中角色逐渐风化效果
    Java版吃豆游戏
    Java版战棋(SLG)游戏AI及寻径处理入门
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[2]——踏破红尘
    Java[伪]寻径追踪实现
    JAVA中[人工无脑]系统(chatbot)的实现
    Java中2.5D游戏(斜45度角)的设计与实现(1)
    Java中2.5D游戏(斜45度角)的设计与实现(2)
    Java中2.5D游戏的设计与实现(3)—八方走法实现原理及相关代码
    Java中2.5D游戏的设计与实现(3.5)—角色间对话脚本的实现
    Java仿太阁立志传5
    JAVA图形操作中FPS的计算(附带随机生成乱数球体用例)
    JAVA实现拼图游戏
    Java来做马里奥[0]—让精灵再次舞动
    Java来做马里奥[1]—木叶传承
    Java来做马里奥[2]—食不厌精
    Java来做马里奥[3]—杂兵登场
    Java桌面游戏巡礼——Java数独
    Java桌面游戏巡礼——Shade
    Java桌面游戏巡礼——国外Java游戏合集
    Java桌面游戏开发入门示例并源码集合
    Java模拟桌球打击处理及绘制
    Java汉诺塔测试
    Java游戏中延迟下载资源及调用示例
    Java游戏开发中应始终坚持的10项基本原则
    Java游戏开发中怎样才能获得更快的FPS?
    Java炸弹人实现及源码
    Java版AVG游戏开发入门[0]——游戏模式转换中的事件交互
    Java版AVG游戏开发入门[1]——CG的绘制
    Java版AVG游戏开发入门示例[3]——脚本引擎的制作及应用
    Java版SLG游戏开发入门[0]--让绘制的窗口响应鼠标事件
    Java版SLG游戏开发入门[1]--关于本系列
    Java版SLG游戏开发入门[2]--数据的读取及保存
    Java版推箱子(搬箱子)游戏开发入门示例及源码
    Java版桌面战棋游戏TLOH(The Legend of Heroes)开发预告
    人生如梦游戏间,JAVA游戏开源开发讲座[番外篇]之AVG开发——皮影
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[0]——月晕础润
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[1]——风云初现
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[3]——邯郸学步
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[4]——一步莲华
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[5]——一树双花
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[6]——走马观花
    史上最扯Java图形绘制(J2SE)之一JAVA动画效果
    沉寂的国人开源项目
    bo-blog(blog系统,php项目)
    DockPanel Suite [Microsoft .NET Framework Winform UI]
    Hocate web framework[web框架]
    Loonframework-DAO[持久层框架]
    Loonframework-GAME[游戏框架,尚未发布]
    Loonframework-WEB[web框架,尚未发布]
    Luntbuild(软件管理工具)
    magike(php博客)
    myseelite(p2p流媒体系统,c++项目)
    newxy(新坐标)[web框架]
    opencrx(crm系统)
    redlion(web框架)
    x2blog(asp.net博客系统)
    YOYOPlayer(音乐播放器)
    袋鼠egg(服务器)
    经典Blog
    # gzfqh的专栏 →底层代码研究(病毒及汇编)(RSS)
    # java 3D 游戏编程(RSS)
    ApoGames(德国某人的Java游戏作品展示)
    Peigen的个人blog(RSS)
    Struts框架应用
    Struts框架应用~
    千里冰封[JAVA 浓香四溢]
    枕善居,国内知名的VB及VB.NET资源博客
    爱枣报
    王大夫的颈椎病治疗博客
    网络安全圈子
    经典站点
    Google
    IBM中国站
    java2s
    JavaGame开发论坛
    JAVA开源大全
    Java爱好者
    Struts标签文档
    SUN
    SUN 中国社区
    一个海量的JSF资料聚合站
    中国IT实验室
    区域黑客,每天公布各国被黑的网站
    提供JSP,Servlets,Struts以及JSF等技术支持
    数据库专区
    看雪软件安全论坛
    知名的Java开源项目集合站
    黑客手册技术论坛
    偶的其它应用实例
    C#将图像文件压缩为AVI文件播放
    Java&.Net虚拟机精简(GreenJVM&GreenDotNet发布)
    Java图形程序水纹倒映效果
    Java输出竖排古典文字
    .NET在线漫画下载程序
    C#转换AVI文件为BMP文件
    ClassLoader调用外部jar包
    ExtJS2.0开发与实践笔记[0]——初识ExtJS
    ExtJS2.0开发与实践笔记[1]——ExtJS中的Dialog与Form
    ExtJS2.0开发与实践笔记[2]——Ext中的Layout
    ExtJS2.0开发与实践笔记[3]——Ext中的Menu
    ExtJS2.0开发与实践笔记[4]——Ext中的动画处理
    JavaFx实现(1)-渐变效果
    JavaFx实现(2)-随机图形绘制
    JavaStore(Java网络商店)初体验[封测申请已通过]
    Java中DAO的实现
    Java中Image翻转操作
    Java中将byte[]转为Blob对象
    Java中的A*(A star)寻径实现
    Java制作绿色软件(GreenJVM_0.1.0发布)
    JAVA图形操作类
    Java图形程序中的对话逐字显示实现
    Java实现任意文件在bmp中的隐藏与导出
    JAVA实现可设置背景的MDI窗口
    Java实现嵌入式数据库(文本数据库)代码实例
    Java实现类Windows导航栏
    Java嵌入式数据库LMini-0.1.2及其通讯录使用示例发布
    Java嵌入式数据库LMini-0.1.2及其通讯录使用示例发布
    Java正则表达式入门
    Java汇编类库LocalOS-0.1.1发布(内附本程序源码及Java版网游找CALL示例源码)
    JAVA版JAVA IDE环境(源码)
    Java版PageRank及网站收录情况查询代码
    JAVA线程池的简单实现及优先级设置
    Java自定义JSlider UI
    Java获得系统环境变量
    Java音乐播放类
    Loonframework-Inversion of Control(简称LIoC)-0.1.0版发布
    Loonframework-Inversion of Control(简称LIoC)-0.1.0版发布
    ResultSet转为实体对象
    SWT行,AWT/Swing也行系列(1)-实现半透明及不规则窗体
    在JTable中加载进度条及进行操作
    在Swing中使用Html标签
    在SWT中使用ChartDirector
    浅谈java.util.concurrent包的并发处理
    浅谈Java集合中Array(数组)的应用
    精简JRE体积
    通过exe启动class
    偶的文章
    《三国以后有几国》
    Java游戏开发中应始终坚持的10项基本原则
    中国本土化编程(汉语编程)之我见
    为大众而写的程序员小说——从《简单易懂的现代魔法》说开去
    从珊瑚虫事件,看为什么中国出不了比尔.盖茨
    佛与专家
    别争了!原来微点遭遇的是自然灾害!
    叹今人无气节而作歌
    国产开源项目的七宗罪
    对Hibernate使用之愚见
    对Java(J2SE PC)开发之怪现象之我见
    微点。赢乎?输耶?
    打油诗——我的梦想(御宅族之梦)
    浅论绿坝的[四大优点]
    浅谈命名规范[纯属强辩]
    消费者反映鸡蛋难吃后的37种回答方法
    灭了珊瑚虫,下一个是谁?
    率性而作无题歌一首
    百度对“十进制网络”的官方态度
    绿藻绕坝水冲去,无题文章风吹来
    耻民
    论番茄花园的倒掉
    存档
    Csdn Blog version 3.1a
    Copyright © 鹏凌三千(cping1982)