2012-05-10 7 views
0

Мне нужна помощь с флеш-баннером. Мне нужно сделать кнопку в баннере, который скрывает div, я нашел способ сделать это в AS2, но мне нужно использовать AS3, я вообще не знаю ActionScript, поэтому мне нужна ваша помощь.Кнопка Flash скрывает DIV AS3

Я нашел этот код, к сожалению, это в AS2:

on (release) { 
import flash.external.ExternalInterface; 
ExternalInterface.call("hideDiv", "operator"); 
} 

<script type="text/javascript"> 
function hideDiv(id) 
{ 
    document.getElementById(id).style.display = 'none'; 
} 
</script> 

Моя кнопка имя экземпляра «closeBt», и я хотел бы, чтобы скрыть Div «#flashcontainer»

Помогите мне пожалуйста.

UPDATE

мой код AS3

import flash.external.ExternalInterface; 
import flash.events.MouseEvent; 


var myStage:Stage = this.stage; 
myStage.scaleMode = StageScaleMode.NO_SCALE; 
myStage.align = StageAlign.TOP_LEFT; 

function resizeDisplay(event:Event):void{ 

    var swfWidth:int = myStage.stageWidth; 
    var swfHeight:int = myStage.stageHeight; 

    var flagaYPos:Number = swfHeight - flaga.height; 
    var flagaXPos:Number = swfWidth - flaga.width; 

    flaga.y = 40.75; 
    flaga.x = -31.4; 

} 

myStage.addEventListener(Event.RESIZE, resizeDisplay); 

closeBt.addEventListener(MouseEvent.CLICK, clickHandler); 

trace("Button has been Clicked"); 

function clickHandler(e:MouseEvent):void { 
    if(ExternalInterface.available) 
    ExternalInterface.call("hideDiv", "operator"); 
} 

и мой HTML тело

<body style="margin:0; padding:0"> 
<script> 
function hideDiv("operator") 
{ 
    document.getElementById("operator").style.display = 'none'; 
} 
</script> 
<div id="operator"> 
<!--url's used in the movie--> 
<!--text used in the movie--> 
<!-- saved from url=(0013)about:internet --> 
<script language="JavaScript" type="text/javascript"> 
    AC_FL_RunContent(
     'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0', 
     'width', '100%', 
     'height', '100%', 
     'src', 'Kopia baner01', 
     'quality', 'high', 
     'pluginspage', 'http://www.adobe.com/go/getflashplayer', 
     'align', 'top', 
     'play', 'true', 
     'loop', 'true', 
     'scale', 'noscale', 
     'wmode', 'transparent', 
     'devicefont', 'false', 
     'id', 'Kopia baner01', 
     'bgcolor', '#ffffff', 
     'name', 'Kopia baner01', 
     'menu', 'true', 
     'allowFullScreen', 'false', 
     'allowScriptAccess','sameDomain', 
     'movie', 'Kopia baner01', 
     'salign', 't' 
     ); //end AC code 
</script> 
<noscript> 
     <object style="display: none" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="100%" height="100%" id="Kopia baner01" align="top"> 
     <param name="allowScriptAccess" value="sameDomain" /> 
     <param name="allowFullScreen" value="false" /> 
     <param name="movie" value="Kopia baner01.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="salign" value="t" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" /> <embed src="Kopia baner01.swf" quality="high" scale="noscale" salign="t" wmode="transparent" bgcolor="#ffffff" width="100%" height="100%" name="Kopia baner01" align="top" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" /> 
     </object> 

</noscript> 
    </div> 
</body> 

AS на сроки, я не имеют никаких навыков на AS, AS2 или AS3, я бы как скрыть div с баннером так близко btn закроет баннер

+0

я нашел функцию ошибки hideDiv (оператор) не работает hideDiv («оператор») я не знаю, что не я думал – gidzior

ответ

1

В AS3 это будет выглядеть так:

import flash.external.ExternalInterface; 
import flash.events.MouseEvent; 

closeBt.addEventListener(MouseEvent.CLICK, clickHandler); 

function clickHandler(e:MouseEvent):void { 
    ExternalInterface.call("hideDiv", "operator"); 
} 

Этот код предполагает, что вы добавляете свой скрипт на временную шкалу. Если вы используете класс Document, то перед «функцией» вы добавите «частный» модификатор. Вы упомянули, что у вас нет особого опыта в AS3, поэтому настало время для этого. Но изучите классы, если вы серьезно относитесь к AS3.

+0

ничего не происходит: [я отредактирую свой вопрос любой сек. – gidzior

+0

i, m пытается настроить кнопку выхода на флеш-баннере. – gidzior

+0

Попробуйте добавить вызов трассировки в свой clickHandler, чтобы подтвердить, что кнопка нажата. Кроме того, добавьте if (ExternalInterface.available) перед вызовом ExternalInterface, как в примере @ Baris. – Corey

1
private function init():void 
{ 
    closeBtn.addEventListener(MouseEvent.CLICK,onClick); 
} 


private function onClick(e:MouseEvent):void 
{ 
    if(ExternalInterface.available) 
     ExternalInterface.call("hideDiv","operator"); 
} 
0

Попробуйте этот кусок AS3 кода:

import flash.external.ExternalInterface; 
closeBt.addEventListener(MouseEvent.CLICK, clickHandlerButton); 
private function clickHandlerButton(e:MouseEvent):void{ 
    if(ExternalInterface.available) ExternalInterface.call("hideDiv","flashcontainer"); 
}