Avatar billede tblaster Nybegynder
02. februar 2008 - 17:13 Der er 4 kommentarer og
1 løsning

Ændre ramme på celle ved onclick og deaktiver onMouseOut

Hejsa

Jeg har lidt problemer med en menu. Menuen er opbygget som følgende:

<td style="background-image: url('images/1.gif'); background-repeat: no-repeat; border-color:silver; border-style: dotted" onMouseOver="style.cursor='pointer';style.borderStyle='dashed';" onmouseout="style.borderStyle='dotted';" onclick="switchMenu('1');">

Mit problem er at jeg gerne vil have at man kan se når man har trykket på en af menupunkterne ved at rammen om menupunktet så ændres til dashed (samme som onmouseover). Problemet er bare at så snart man flytter musen fra menupunktet så aktiveres onmouseout hvilket sættes rammen til dotted. Hvordan kan jeg komme omkring dette?

På forhånd tak.
Avatar billede roenving Novice
02. februar 2008 - 17:21 #1
Og siden reloades ikke ?-)

F.eks.

<td style="background: url('images/1.gif') no-repeat; border:2px silver dotted; cursor:pointer" onmouseover=";this.style.borderStyle='dashed';" onmouseout="this.style.borderStyle='dotted';" onclick="switchMenu('1');this.onmouseout=null;">
Avatar billede tblaster Nybegynder
02. februar 2008 - 17:39 #2
Nej, siden reloades ikke.

Ved ovenstående løsning betyder det at hvis jeg trykker på menupunkt1 og dernæst menupunkt2 så har menupunkt1 ingen onmouseout hvilket betyder at når jeg flytter musen over menupunkt1 igen, så ændres rammen permanent selvom jeg ikke har trykket på den.
Avatar billede roenving Novice
02. februar 2008 - 17:49 #3
Jepz, det kræver en hel del mere, hvis du skal ændre events med noget dynamik, og rigtig besværligt bliver det, at de forskellige browsere har forskellig event-model, så lige her og nu kaste et forslag, det kan jeg ikke ,-)
Avatar billede tblaster Nybegynder
02. februar 2008 - 17:52 #4
Ok. Jeg forventede også at det var lidt mere komplekst og nok krævede et par funktioner og nogle variable til at holde styr på informationen. Men kig endelig på det hvis du får tid.

Det skal nævnes at de andre menuer naturligvis også skal afmarkeres når et nyt menupunkt markeres. Dette kan dog løses simpelt vha. noget som føglende:

document.getElementById('1').style.borderStyle='dotted';
document.getElementById('2').style.borderStyle='dotted';
etc.
Avatar billede tblaster Nybegynder
17. september 2010 - 08:35 #5
Lukker
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