Avatar billede meelby Nybegynder
29. april 2002 - 15:09 Der er 5 kommentarer og
1 løsning

Mouseover, Mouseout og Mouseclik!

Jeg har en side hvor jeg vil Classe ved mus over mus ud og så problemet, ved clik. Det virker tilsydeladende fint, men problemet er at jeg ønsker at beholde classen ved trykket. Og dvs. den skal ikke ændre ved mouseout, eller også findes der anden løsning?

Scriptet er følgende:
________________________________
<html><head>
<SCRIPT language=javascript>
<!---
function color(id,classe)
{if(document.getElementById) {document.getElementById(id).className=classe;}}
// -->
</SCRIPT>

<STYLE type=text/css>
.Over {COLOR:#FFF000;background-color: #FF0000;}
.Out  {COLOR:#f1f1f1;background-color: #FFFFFF;}
.bliv {COLOR:#ff0000;background-color: #FFF000;}
</STYLE>
</head>

<BODY>
<table>
<tr id='tr1' onmouseover="color('tr1','Over');" onmouseout="color('tr1','Out');"><td>Celle nr 1</td><td>Celle nr 1.2</td></tr>
<tr id='tr2' onmouseover="color('tr2','Over');" onmouseout="color('tr2','Out');"><td>Celle nr 1</td><td>Celle nr 1.2</td></tr>
<tr id='tr3' onmouseover="color('tr3','Over');" onmouseout="color('tr3','Out');"><td>Celle nr 1</td><td>Celle nr 1.2</td></tr>
<tr id='tr4' onmouseover="color('tr4','Over');" onmouseout="color('tr4','Out');"><td>Celle nr 1</td><td>Celle nr 1.2</td></tr>
<tr id='tr5' onmouseover="color('tr5','Over');" onmouseout="color('tr5','Out');"><td>Celle nr 1</td><td>Celle nr 1.2</td></tr>
<tr id='tr6' onclick="color('tr6','bliv');" onmouseover="color('tr6','Over');" onmouseout="color('tr6','Out');"><td>Celle nr 1</td><td>Celle nr 1.2</td></tr>
</table>
</BODY></HTML>
Avatar billede -master-d- Nybegynder
29. april 2002 - 15:25 #1
Forstår jeg dig ret, hvis du vil have at når man først har klikket skal farven blive der og ikke bare forsvinde?
Avatar billede martinfrost Nybegynder
29. april 2002 - 15:29 #2
Jeg tror måske det er dette du vil ha':


<html><head>
<SCRIPT language=javascript>
<!---
var clicked1 = false
var clicked2 = false
var clicked3 = false
var clicked4 = false
var clicked5 = false
var clicked6 = false
function color(id,classe)
{if(document.getElementById) {document.getElementById(id).className=classe;}}
// -->
</SCRIPT>

<STYLE type=text/css>
.Over {COLOR:#FFF000;background-color: #FF0000;}
.Out  {COLOR:#000000;background-color: #FFFFFF;}
.bliv {COLOR:#ff0000;background-color: #FFF000;}
</STYLE>
</head>

<BODY>
<table>
<tr id='tr1' onclick="color('tr1','bliv');if(clicked1==false){clicked1=true}else{clicked1=false}" onmouseover="if(clicked1==false){color('tr1','Over')};" onmouseout="if(clicked1==false){color('tr1','Out');}"><td>Celle nr 1</td><td>Celle nr 1.2</td></tr>
<tr id='tr2' onclick="color('tr2','bliv');if(clicked2==false){clicked2=true}else{clicked2=false}" onmouseover="if(clicked2==false){color('tr2','Over')};" onmouseout="if(clicked2==false){color('tr2','Out');}"><td>Celle nr 2</td><td>Celle nr 2.2</td></tr>
<tr id='tr3' onclick="color('tr3','bliv');if(clicked3==false){clicked3=true}else{clicked3=false}" onmouseover="if(clicked3==false){color('tr3','Over')};" onmouseout="if(clicked3==false){color('tr3','Out');}"><td>Celle nr 3</td><td>Celle nr 3.2</td></tr>
<tr id='tr4' onclick="color('tr4','bliv');if(clicked4==false){clicked4=true}else{clicked4=false}" onmouseover="if(clicked4==false){color('tr4','Over')};" onmouseout="if(clicked4==false){color('tr4','Out');}"><td>Celle nr 4</td><td>Celle nr 4.2</td></tr>
<tr id='tr5' onclick="color('tr5','bliv');if(clicked5==false){clicked5=true}else{clicked5=false}" onmouseover="if(clicked5==false){color('tr5','Over')};" onmouseout="if(clicked5==false){color('tr5','Out');}"><td>Celle nr 5</td><td>Celle nr 5.2</td></tr>
<tr id='tr6' onclick="color('tr6','bliv');if(clicked6==false){clicked6=true}else{clicked6=false}" onmouseover="if(clicked6==false){color('tr6','Over')};" onmouseout="if(clicked6==false){color('tr6','Out');}"><td>Celle nr 6</td><td>Celle nr 6.2</td></tr>
</table>
</BODY></HTML>


Mvh
Martin
Avatar billede -master-d- Nybegynder
29. april 2002 - 15:29 #3
Fordi så er den nem nok, så skal du bare lave en baggrundsfarve til at starte med, og ændre onmouseout til onclick, Så'n her :

<tr id='tr1' onmouseover="color('tr1','Over');" onclick="color('tr1','bliv');" bgcolor="#FFFFFF"><td>Celle nr 1</td><td>Celle nr 1.2</td></tr>

Det burde virke.
Avatar billede meelby Nybegynder
29. april 2002 - 19:52 #4
Hej Martin

Det virker fint, og poingene er dine. Et lille tillægsspørgsmål kunne være: Hvad nu hvis jeg kun vil have én række aktiv af gangen?
Avatar billede martinfrost Nybegynder
29. april 2002 - 20:00 #5
No problem :-)

Værsgo:


<html><head>
<SCRIPT language=javascript>
<!---
var clicked1 = false
var clicked2 = false
var clicked3 = false
var clicked4 = false
var clicked5 = false
var clicked6 = false
function color(id,classe)
{if(document.getElementById) {document.getElementById(id).className=classe;}}

function reset(){
clicked1 = false
clicked2 = false
clicked3 = false
clicked4 = false
clicked5 = false
clicked6 = false
document.getElementById("tr1").className="Out";
document.getElementById("tr2").className="Out";
document.getElementById("tr3").className="Out";
document.getElementById("tr4").className="Out";
document.getElementById("tr5").className="Out";
document.getElementById("tr6").className="Out";
}

// -->
</SCRIPT>

<STYLE type=text/css>
.Over {COLOR:#FFF000;background-color: #FF0000;}
.Out  {COLOR:#000000;background-color: #FFFFFF;}
.bliv {COLOR:#ff0000;background-color: #FFF000;}
</STYLE>
</head>

<BODY>
<table>
<tr id='tr1' onclick="reset();color('tr1','bliv');if(clicked1==false){clicked1=true}else{clicked1=false}" onmouseover="if(clicked1==false){color('tr1','Over')};" onmouseout="if(clicked1==false){color('tr1','Out');}"><td>Celle nr 1</td><td>Celle nr 1.2</td></tr>
<tr id='tr2' onclick="reset();color('tr2','bliv');if(clicked2==false){clicked2=true}else{clicked2=false}" onmouseover="if(clicked2==false){color('tr2','Over')};" onmouseout="if(clicked2==false){color('tr2','Out');}"><td>Celle nr 2</td><td>Celle nr 2.2</td></tr>
<tr id='tr3' onclick="reset();color('tr3','bliv');if(clicked3==false){clicked3=true}else{clicked3=false}" onmouseover="if(clicked3==false){color('tr3','Over')};" onmouseout="if(clicked3==false){color('tr3','Out');}"><td>Celle nr 3</td><td>Celle nr 3.2</td></tr>
<tr id='tr4' onclick="reset();color('tr4','bliv');if(clicked4==false){clicked4=true}else{clicked4=false}" onmouseover="if(clicked4==false){color('tr4','Over')};" onmouseout="if(clicked4==false){color('tr4','Out');}"><td>Celle nr 4</td><td>Celle nr 4.2</td></tr>
<tr id='tr5' onclick="reset();color('tr5','bliv');if(clicked5==false){clicked5=true}else{clicked5=false}" onmouseover="if(clicked5==false){color('tr5','Over')};" onmouseout="if(clicked5==false){color('tr5','Out');}"><td>Celle nr 5</td><td>Celle nr 5.2</td></tr>
<tr id='tr6' onclick="reset();color('tr6','bliv');if(clicked6==false){clicked6=true}else{clicked6=false}" onmouseover="if(clicked6==false){color('tr6','Over')};" onmouseout="if(clicked6==false){color('tr6','Out');}"><td>Celle nr 6</td><td>Celle nr 6.2</td></tr>
</table>
</BODY></HTML>
Avatar billede meelby Nybegynder
30. april 2002 - 17:59 #6
Takker :)
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