Avatar billede runeneesgaard Nybegynder
12. januar 2010 - 15:26 Der er 11 kommentarer og
1 løsning

Flash menu indsat i XHTML

Jeg har lavet en Flash menu til en simpel XHTML side, som jeg er i gang med. Når man kører markøren hen over et tekstpunkt i menuen, fx Fagområder, hæver teksten sig lidt op og når man fjerner markøren, sænker teksten sig ned igen.

For at disse tekster rent faktisk fungerer som links har jeg sat nogle usynlige div'er ind over menupunkterne og lavet disse div'er til links. Efter lidt søgen her fandt jeg ud af hvordan dette også kan gøres i Flash (hvilket vel er den bedste/nemmeste måde at gøre det på).

Problem:
Når markøren er ved et menupunkt, hæver det sig som sagt. Når man derefter klikker på det, åbner man en ny side, der får animationen til at gentage sige, dvs. teksten hopper ned til dens normale position og hæver sig igen, som hvis man kørte markøren hen over den. Jeg kan godt se logikken i hvorfor den opfører sig således, men jeg ville gerne, at så længe man holder markøren over et menupunkt forbliver det hævet, unanset om man trykker eller ej, og først når man fjerner markøren sænker det sig igen.

Er det muligt?

På forhånd tak!

- Rune
Avatar billede kristianlist Nybegynder
14. januar 2010 - 17:54 #1
Prøv lige at post dit actionscript, så er det nemmere at se hvor det er galt, eller hvad der skal tilføjes.
Avatar billede runeneesgaard Nybegynder
15. januar 2010 - 14:05 #2
Tak for responsen. Jeg har, som det nok fremgår, 3 knapper:

fag_mc.buttonMode = true;
fag_mc.addEventListener(MouseEvent.ROLL_OVER, FAGOVER);
fag_mc.addEventListener(MouseEvent.ROLL_OUT, FAGOUT);

function FAGOVER(e:MouseEvent):void
{
    e.currentTarget.gotoAndPlay("over");
}

function FAGOUT(e:MouseEvent):void
{
    e.currentTarget.gotoAndPlay("out");
}


moduler_mc.buttonMode = true;
moduler_mc.addEventListener(MouseEvent.ROLL_OVER, MODULEROVER);
moduler_mc.addEventListener(MouseEvent.ROLL_OUT, MODULEROUT);

function MODULEROVER(e:MouseEvent):void
{
    e.currentTarget.gotoAndPlay("over");
}

function MODULEROUT(e:MouseEvent):void
{
    e.currentTarget.gotoAndPlay("out");
}


portfolio_mc.buttonMode = true;
portfolio_mc.addEventListener(MouseEvent.ROLL_OVER, PORTFOLIOOVER);
portfolio_mc.addEventListener(MouseEvent.ROLL_OUT, PORTFOLIOOUT);

function PORTFOLIOOVER(e:MouseEvent):void
{
    e.currentTarget.gotoAndPlay("over");
}

function PORTFOLIOOUT(e:MouseEvent):void
{
    e.currentTarget.gotoAndPlay("out");
}


Kan det bruges til noget?
Avatar billede kristianlist Nybegynder
15. januar 2010 - 15:23 #3
Umiddelbart ville jeg anbefale dig at lave dine tweens i scriptet.
Jeg tror det er det der er galt.

Du kan prøve at tilføje trace() i dine funktioner, så du kan se hvis der er nogen der bliver kaldt selvom de ikke skal.
Avatar billede runeneesgaard Nybegynder
15. januar 2010 - 16:39 #4
Jeg skal bruge hjemmesiden til en eksamen om få dage, så jeg kan desværre ikke nå at lære hvordan man laver sin tweens i scriptet, selvom det sikkert ville være en god idé.

Kan man på en eller anden måde via trace måske eller en anden funktion fortælle knappen, fx at første gang efter den er blevet trykket på skal den ikke udføre animationen?

Linket til min side er her: http://runee.monline.dk/1.%20semester%20eksamen%202/.

Jeg er faktisk ikke sikker på om Flash menuen er synlig i Explorer, men hvis den er kunne det måske være en hjælp at se dem :)
Avatar billede kristianlist Nybegynder
15. januar 2010 - 19:20 #5
Arh.. det er ikke dit flash det er galt med :)
Det er fordi du loader et hel ny side, og dermed loader dit flash forfra, hver gang du trykker på en knap.
Avatar billede runeneesgaard Nybegynder
16. januar 2010 - 14:42 #6
Okay. Så der er ikke rigtig noget, man kan gøre ved det?
Avatar billede kristianlist Nybegynder
16. januar 2010 - 15:14 #7
Jo, du skal bare lave det hele i en enkelt .swf fil i stedet.
Avatar billede runeneesgaard Nybegynder
16. januar 2010 - 15:25 #8
Altså en side der kun er Flash og ikke Flash sat ind i XHTML?
Avatar billede kristianlist Nybegynder
16. januar 2010 - 16:00 #9
Arh undskyld, jeg troede du havde lavet hver side i fuld flash.

Så har du 3 muligheder.
Enten laver du alle siderne i samme swf fil, så hele siden er i ren flash.
Ellers laver du siderne i php eller asp (har jeg ikke forstand på).
Eller lave det hele i xhtml.

Det er de eneste muligheder jeg lige kan komme på..
Avatar billede runeneesgaard Nybegynder
16. januar 2010 - 16:48 #10
Okay. Den er lavet i XHTML med indsatte Flash-elementer fordi den skal bruges til en eksamen og gerne skal være bevis på lidt indblik i forskellige sprog/programmer.

PHP lyder som et godt bud, men er nok lidt for avanceret til mig, så jeg må nok bare leve med at animationen ikke helt bliver vist som ønsket.

Tak for hjælpen.

Du må gerne smide et svar, det lader ikke til at problemet bliver mere løst end det her for nu :)
Avatar billede kristianlist Nybegynder
16. januar 2010 - 17:45 #11
Jeg har ikke rigtig løst noget jo, så behold dem hellere selv :)
Desuden kan det godt være at der sidder en derude med en løsning.

Ellers kan det være det kan laves i javascript.
Avatar billede runeneesgaard Nybegynder
15. oktober 2010 - 18:37 #12
Lukker tråden.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester