起因:那啥~ 某天闲来无事 答应为某人做个flash导航~
要求: 1.flash 尽可能的小
2.可以编辑导航内容
3.flash 背景透明
4.onmouseover 背景色块还要有变化
5.…
综上选择了 AS3 + JS 的组合
构想:flash尽量小? 采用背景图片与flash分离方式
可编辑?外部传值
flash透明 背景还要有onmouseover 效果? 用AS3调用JS 操作DOM
成品:http://www.iding360.com/index4.html
原理:利用 AS3 ExternalInterface 接口与 JS通信
用坐标轴 计算得出 onmouseover 元素
初始化参数如下:
var op={
width:1024, //flash 宽度
height:530, //flash 高度
target:'new', //tatget 不解释你懂的
delay:0.5, //动画延迟 时间单位 秒
autoMove:false, //是否自动运行动画
img:[[imgurl,href,x,y]] //展示图片数组
}
与此同时 JS端 并行加载 背景图片中…
代码如下:
var BgImg = new Image();
BgImg.onload = function()
{
/*
生成色块、设置动画
*/
setTimeout(function()
{
flash=document["flashUpImg"]||window["flashUpImg"];
if( FlashReady) //验证flash 是否加载完成 (如何验证?)
{
if(flash.jsMove())return; // 初始化设置了autoMove:false 所以这里手动调用
}
setTimeout(arguments.callee,10);
},10);
}
此效果 主要 AS3 程序:
stage.addEventListener(MouseEvent.MOUSE_MOVE,MouseMove);
public function MouseMove(event:Event):void {
ExternalInterface.call("Flash_MouseMove",stage.mouseX,stage.mouseX);//flash调用js中的方法
}
主要JS函数:
function Flash_MouseMove(x,y) //鼠标移动函数
{
var d = Math.floor(x/barWidth);
if(d==nowDiv)return;
$animate( pc[nowDiv], { 'marginTop':{from:'3px', to:0}, 'opacity':{from:1,to:0.8} }, 150);
$animate( pc[d], { 'marginTop':{from:0, to:'3px'}, 'opacity':{from:0.8,to:1} }, 150);
nowDiv = d;
}
最终效果 :http://www.iding360.com/index4.html
ps:1. 为IE6-7 写了不同动画效果
2. 顺便吐槽 IE6 的背景闪烁 BUG
相关推荐
在本文中,我们将深入探讨如何在AS3.0(ActionScript 3.0)中使用ExternalInterface类与JavaScript进行交互,特别是在实现一个自定义播放器的场景中。这个主题是针对那些希望在网页中集成Flash内容并与网页的...
首先来看AS3侧的实现,代码中使用了`ExternalInterface`类来实现与外部(这里指C#)的交互。 ```as3 import flash.external.*; // 注册回调函数 ExternalInterface.addCallback("c2flash", c2flash); // 定义回调...
### ExternalInterface:构建Flash与外部世界桥梁的关键技术 在深入探讨`ExternalInterface`之前,我们首先需要理解其在Adobe Flash平台中的核心作用。`ExternalInterface`是ActionScript中一个极其重要的类,它...
在AS3中,我们还可以通过`ExternalInterface`类与JavaScript进行通信,这对于实现Flash与网页的交互非常有用。如果你的外部脚本是JavaScript,你可以使用`ExternalInterface.addCallback`来注册一个AS3函数,然后在...
AS3代码中,我们可以使用`flash.external.ExternalInterface.addCallback`函数注册一个方法供JavaScript调用,同时在JavaScript中通过`ExternalInterface.call`来调用AS3的方法。这样,AS3可以向JS暴露功能,反之...
- 在服务器端获取Cookie后,可以通过XMLSocket或ExternalInterface与AS3通信,将Cookie传递回来。 3. **删除Cookie**: - 删除Cookie是通过设置过期日期到过去来实现的。例如: ```as3 var removeCookieHeader:...
3. AS3回调:在网页中,可以定义一个全局函数并暴露给AS3,然后在AS3中调用这个函数,实现回调机制。 ```javascript window.external.myCallback = function(data) { // 在这里处理AS3回调的数据 }; ``` ```...
总结来说,AS3与JavaScript的交互通过`ExternalInterface`类实现,允许它们之间进行方法调用和数据交换。这种方法在动态内容更新、用户交互以及Flash与服务器通信等方面非常有用,是构建富互联网应用程序(RIA)的...
JavaScript,另一方面,是Web前端的标准脚本语言,用于实现动态网页效果。当这两者结合时,可以实现跨平台的动态交互,为用户提供更加丰富的用户体验。 标题“flex与js交互 关于ExternalInterface使用的小例子”...
本示例探讨了如何在Adobe Flash ActionScript 3 (AS3)与Microsoft C#之间实现函数的相互调用,这通常涉及到两种技术的集成,如Unity与Flash或独立Flash应用与桌面应用的交互。以下是关于这个主题的详细解释。 1. **...
在AS3中,我们可以创建一个全局的ExternalInterface,该接口允许AS3代码与JavaScript或宿主环境(如VC++)进行通信。在AS3代码中,我们需要声明要暴露给外部调用的函数,例如: ```actionscript import flash....
4. **AS调用C#方法**: AS3通过ExternalInterface调用C#方法,需要在C#代码中实现JavaScript互操作。可以使用WebBrowser控件的`ObjectForScripting`属性设置一个公共对象,该对象的方法将可供AS3调用。这些方法应该...
3. **跨域通信**:在某些情况下,利用AS3与JS通信可以绕过浏览器的同源策略限制,实现跨域数据获取。 4. **游戏交互**:游戏中的得分、状态等信息可以实时更新到网页上,提供更好的用户体验。 5. **API集成**:将...
AS3中,与JavaScript的交互更为完善和安全,它同样使用`ExternalInterface`类。AS3的`addCallback`方法和`call`方法分别用于设置可从JS调用的函数和从AS3调用JS函数。与AS2不同,AS3要求在发布时明确启用`...
10. **外部接口**:AS3可以与JavaScript进行交互,通过`ExternalInterface`类调用网页中的JavaScript函数或接收来自JavaScript的消息。 这本自学手册例子应该包含了一系列的实践项目,通过这些例子,你可以逐步理解...
本视频教程将深入探讨如何实现AS3与JavaScript之间的通信。 1. **跨域策略**: 在AS3与JavaScript通信时,由于同源策略的限制,如果Flash内容和HTML不在同一个域名下,必须设置跨域策略。在AS3中,可以通过`...
ExternalInterface在我看来就是flash为了外部程序的调用所声明的接口。看到论坛里有好多人问但是回答的就不是很多,就把自己做的一个简单的例子放上来.写的不好,希望能抛砖引玉,大侠勿拍!!这个是里面用到的flash...
通过上述方式,开发者可以利用FLEX的强大UI设计能力和AS3的高级编程特性,结合FLASH的动画优势,创造出功能丰富且具有出色视觉效果的RIA应用。理解并熟练掌握FLEX、AS3与FLASH之间的交互,对于提升Web应用的用户体验...
ExternalInterface.addCallback("jsCallAs3", as3Function); } ``` 在JavaScript中,你可以像调用任何JavaScript函数一样调用`as3Function`: ```javascript var result = document.getElementById('...
标题“FLASH CS3(AS3)与JS之间通信”涉及的是两种主要的Web技术——Adobe Flash(使用ActionScript 3,简称AS3)和JavaScript之间的交互。这两种技术在Web开发中各自发挥着重要作用,Flash主要用于动画和多媒体内容...