Avatar billede tejs Nybegynder
25. august 2002 - 14:48 Der er 11 kommentarer og
1 løsning

Glidende overgange..

HEj

Jeg har en menu hvor jeg bruger følgende:

<td class="inaktiv" onmouseover="this.className ='aktiv';" onmouseout="this.className='inaktiv';"><span class="menuPunkter">&nbsp;&nbsp;<a href="(EmptyReference!)">Fjernbetjening til PC</a>&nbsp;&nbsp;</span></td>

Det virker på den måde at når jeg kører musen over en celle i tabellen skifter den class fra inaktiv til aktiv.

Inaktiv: hvid
Aktiv: Sort

Det jeg godt kunne tænke mig var at lave en mere glidende overgang.. Sådan at der på onMouseOver først blev skiftet til en class med f.eks. 33% sort, så til en med 66% sort og så til en med 100% sort - så overgangen mellem sort og hvid, bliver mere flydende..
Det modsatte skal ske når man fjerne musen igen - 66%, 33% 0%...

Det er ret vigtigt at jeg kan angive hvor mange milisekunder der skal gå mellem hvert skift, da det ellers ville se forskelligt ud på forskellige computere.

Håber I kan hjælpe
Avatar billede Slettet bruger
25. august 2002 - 14:56 #1
Avatar billede bongobride Nybegynder
25. august 2002 - 15:01 #2
Nice :)
Avatar billede jakoba Nybegynder
25. august 2002 - 15:05 #3
Avatar billede tejs Nybegynder
25. august 2002 - 15:20 #4
Det virker næsten 100%, men den går lidt amok nogle gange, når cursoren ligger på grænsen mellem 2 forskellige områder. Det må være fordi scriptet starter forfra midt i en funktion..
Kan man lave det sådan et funktionen fadeInd() ikke kan køre før fadeUd() er færdig og omvendt..?
Avatar billede tejs Nybegynder
25. august 2002 - 15:36 #5
-> phoenixv

Det er faktisk når man køre over det hyperlink der står inde i cellen at den blinker - hvorfor gør den det..? kan man undgå det..?
Avatar billede tejs Nybegynder
25. august 2002 - 15:50 #6
jakoba

Kan man få din funktion til at gå tilbage til "startFarve" på onMouseOut?
Avatar billede jakoba Nybegynder
25. august 2002 - 15:52 #7
ja det kan man, men jeg vi nu nok anbefale phoenixv's. min understøtter kun eet farveskift ad gangen
Avatar billede tejs Nybegynder
25. august 2002 - 15:54 #8
OK, men det går bare helt amok, når der står et hyperlink i cellen..
Avatar billede jakoba Nybegynder
25. august 2002 - 15:56 #9
prøv at beskrive lidt mere konkret og forståeligt en "går bare helt amok" :-)
så kan det nok rettes til.
Avatar billede tejs Nybegynder
25. august 2002 - 17:50 #10
Den blinker utroligt meget..
I kan se det jeg har lavet her: http://www.mcb.dk/tejs/pb/support.asp
Avatar billede jakoba Nybegynder
25. august 2002 - 19:32 #11
jep, nu kan jeg se det. det er din PC der ikke er hurtig nok så de der setTimeouts der bliver opstillet 'falder over hinanden' fordi de ikke har tid til at blive udført.

prøv evt med mere tid og/eller førre farveværdier i farver arrayet:

farver = new Array("#FFFFFF", "#E0E0E0", "#C0C0C0", "#A0A0A0" "#808080"); //Farverne, som det skal skifte, når musen føres over
tid = 800; //Så lang tid, farveovergangen skal tage, i millisekunder

mvh JakobA
Avatar billede Slettet bruger
26. august 2002 - 16:32 #12
Du bør ikke sætte links hyperlinks i cellerne. Du bør snarere sætte hele tabelcellen til at gå til en url ved onClick:

<td ... onClick="self.location.href = 'din_side.html';" style="cursor: pointer; cursor: hand;">

Og lav så ren tekst i cellen i stedet.
Det skyldes, at IE udnytter, at man flytter markøren ind på et hvilket som helst andet objekt (også et objekt, der er inden i et objekt), til at affyre onMouseOut eventen. I IE5.5+ kan dette løses ved at bruge onMouseEnter og onMouseLeave, men det er ikke bagudkompatibelt.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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