订阅本站

项目中遇到一个情况,需要在FLASH播放结束后自动执行一个JS函数,此JS函数是利用JQurey来通过关闭FLASH所在的DIV,并且显示出原先隐藏的另一个DIV容易来代替目前的Flash。

JS代码如下:

<script type="text/javascript">
function showfocus()
{
$(".focus").fadeIn(500);
}
function flashover()
{
$(".flashzone").fadeOut(1000,showfocus);
}
</script>

里面有2个函数 showfocus 是用来显示原先隐藏的一个层,flashover是先关闭当前的层后在执行showfocus

现在目的是想让FLASH播放好后自动调用 flashover 这个函数来实现前面所说的效果。

实现方法如下:

在FLASH相应的位置加上一个关键帧,写入AS代码

import flash.external.ExternalInterface;
ExternalInterface.call("mPause");

如果想执行到这段AS之后延时10秒再去执行JS函数,可以利用setInterval(这是as2中的用法,as3中可以用setTimeout更简单)来实现,如下:

import flash.external.ExternalInterface;
var abc=setInterval(js_pause,10000);
function js_pause(){
ExternalInterface.call("flashover");
clearInterval(abc);
}

注:setInterval表示每隔N秒调用一次函数,所以想达到延迟10秒调用函数的效果,在调用完函数之后就要清楚刚才的时间间隔,否则是降低运行速度。

  1. 吉林网 China Internet Explorer Windows 说:
    1楼 于 2011-12-1 19:34 回复

    对做美工的设计人员很有用

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :( :!: 8-O 8)

[使用Ctrl+回车快速提交]


无觅相关文章插件,快速提升流量