快速业务通道

Flash与Html的实用技巧

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10
在网页中的Flash加入一个参数,让网页设定Flash文件背景透明,Flash文件本身做不到
这里以Dreamwaver为例,点击Flash文件,,然后点击“参数”按钮,弹出参数设定窗口,增加一个参数

这样,在HTML页面中Flash文件便可以透明了这个技巧主要感谢水蓝色青蛙,我仅仅是传播,呵呵~
类似的东东:?http://www.dengjie.com/weblog/comment.asp?post_id=5???这是有关让SWF文件在Windows下打开时的窗体透明软件。
??????3.动态设定Flash的尺寸大小
这个技巧来源于一个国外的实例,很实用,大家可以看看先http://www.dengjie.com/weblog/comment.asp?post_id=462?
在线演示http://2mdc.com/resizableFlash/
这个技巧非常适合一些无极扩展菜单之类的特效,可以脱离HTML大小的限制,任意增加菜单的长度,下面就以蛋蛋的Flash+XML无极扩展菜单为例子,如何动态设定FLASH文件在Html页面中的大小
最终效果演示:?http://www.blackflasher.net/download/index.htm
首先我们来分析一下这个XML菜单的代码:
//建立顶级菜单
function?creatRootMenu()?{
????_root.creatMyMenu(menuData.firstChild);
}
这个函数主要是调用了creatMyMenu()函数,搜索整个代码,找到creatMyMenu()函数
//建立子菜单
function?creatMyMenu(a,?b)?{
????for?(var?i?=?0;?i????????this.createEmptyMovieClip("item"+i,?i);
????????var?myMenu?=?this["item"+i];
????????myMenu.creatMenu(a.childNodes[i],?i,?b);
????}
}
creatMyMenu()引入了2个值,其中a是一个XML对象,那么我们如果要计算新的尺寸,就需要知道一共打开了多少个菜单,可以在函数中加一句trace("这个子菜单有"+a.childNodes.length),然后测试影片,返回结果为 这两次返回的结果主要是第一次生成了3个主菜单,而主菜单的生成函数中嵌入了一个检查菜单是否展开的函数,若展开则继续生成子菜单,既第一个分类中的7个子菜单。
现在已经确定了菜单初始化时生成的数量,下一步确定菜单在打开和关闭时所生成的数量。
大概浏览一下整体代码,可以看到有一个函数menuDrawBg()其中有好几个鼠标事件,那么这个函数应该是决定鼠标事件出发以后所执行命令的函数。我们主要看onRelease事件:
this.bg.onRelease?=?function()?{
????getURL(this._parent.XMLData.attributes.url,this._parent.XMLData.attributes.targetWindo);
????????if?(!(Number(this._parent.XMLData.attributes.open)))?{
????????????this._parent.XMLData.attributes.open?=?1;
????????????this._parent.creatMenu(this._parent.XMLData,?this._parent.XMLIndex,?1);
????????}?else?{
????????????if?(Number(this._parent.XMLData.attributes.open))?{
????????????????this._parent.item.removeMovieClip();
????????????????this._parent.XMLData.attributes.open?=?0;????????????
????????????}
????????}
????};
这个事件中主要判断XML对象中的OPEN属性,控制开/关,首先判断“!(Number(this._parent.XMLData.attributes.open)”条件既若菜单的open属性为0则打开菜单,再往下看,先不要急着取得打开的菜单数目,可以看到里面调用了一个creatMenu()函数,搜索找到creatMenu()函数。最后找到这一句:“MovieClip.prototype.creatMenu?=?menuInit;”往下看,就是menuInit函数的定义,稍微看看你可以发现这个函数也调用了creatMyMenu()函数,我们之前已经修改过了creatMyMenu()函数,那么这里则可以省去这个步骤,下面看看关闭菜单的代码,其中的XML对象为this._parent.XMLData,那么要取得关闭菜单的数目取得this._parent.XMLData的项数即可,增加一个trace("菜单关上"+this._parent.XMLData.childNodes.length)语句,然后测试。
?????测试无误后,下面要开始计算新的高度。在

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号