我希望我的flash动画在屏幕上可见之前不播放,然后在屏幕外暂停。有没有办法捕获一些事件,表明swf正在呈现或可见,或者在浏览器窗口的可见范围内,我可以添加事件,以便我知道它何时在视图中?
答案 0 :(得分:0)
使用Flash的ExternalInterface调用一个javascript函数,检查是否关闭屏幕元素。在javascript中,使用JQuery和Viewport插件来判断我们是否在屏幕外。 (http://www.appelsiini.net/projects/viewport)。
我还没有测试过Viewport插件,但是我已经和使用过它的人交谈了,而且对他们来说没问题。
在as3中:
var returnValue:int = ExternalInterface.call("jsCheckerFunction");
if(returnValue == 1) // your flash is on-screen.
在javascript中:
function jsCheckerFunction()
{
if($("#flashContent:in-viewport").length > 0)
return 1; // flash div visible
return 0; // returns 0 if the element is offscreen
}
您可以让它在每个帧上调用jsCheckerFunction以查看状态是否已更改。