Avatar billede miwu.tk Nybegynder
04. april 2004 - 12:03 Der er 17 kommentarer og
1 løsning

Mouse over + celle problem

Jeg har problemer med at finde problemet i:

<td class="row1" onmouseover="this.style.backgroundColor='{C_ROW1_OVER}';" onmouseout="this.style.backgroundColor='{C_ROW1}';" onclick="window.location.href='{URL}'"><a href="URL">test</a></td>

Idéen med den er at når man flytter musen henover, så skal den tage informationerne fra mit stylesheet og så vise den nye farve. Dvs. skifte farve når musen ryger henover.
Avatar billede knudgert Nybegynder
04. april 2004 - 12:09 #1
Kan du ikke blot skrive farven i stedet for det er da lige så, ellers skal du bruge
"this.style.class='classnavn';"
Men det skulle være ret langsomt i nogen browsere.
Avatar billede miwu.tk Nybegynder
04. april 2004 - 12:10 #2
Har jeg prøvet, men der skete ikke noget særligt. Hvis det går langsomt kan man sq bare lærer at bruge IE *G* ;)
Avatar billede roenving Novice
04. april 2004 - 12:13 #3
Det kan man ikke, i hvert fald ikke på den måde !-)

Det er set nogle gange, at der er brugt den hamrende ufornuftige løsning at ændre class on-the-fly, men jeg vil godt gentage: den er hamrende ufornuftig !-)

Men hvis du kan sætte værdierne i stylesheet, kan du vel sætte dem i et lille javascript i stedet:

<script type="text/javascript">
var cRowOver = "#55e81f";
var cRow1 = "#948f3c";
var url = "underside1.html"
</script>

<td class="row1" onmouseover="this.style.backgroundColor=cRowOver;" onmouseout="this.style.backgroundColor=cRow1;" onclick="window.location.href=url"><a href="URL">test</a></td>
Avatar billede miwu.tk Nybegynder
04. april 2004 - 12:16 #4
Hvad nu hvis jeg vil have forskellige links til selve cellen? Skal jeg så skrive det script X-antal gange? :s
Avatar billede roenving Novice
04. april 2004 - 12:20 #5
Du mener vel til forskellige celler ?-)

<script type="text/javascript">
var cRowOver = "#55e81f";
var cRow1 = "#948f3c";
var url1 = "underside1.html"
var url2 = "underside2.html"
var url3 = "underside3.html"
var url4 = "underside4.html"
var url5 = "underside5.html"
var url6 = "underside6.html"
var url7 = "underside7.html"
var url8 = "underside8.html"
var url9 = "underside9.hhml"
</script>

-- og ligeledes med farverne ...
Avatar billede miwu.tk Nybegynder
04. april 2004 - 12:21 #6
smart :O dvs. at jeg fx kan gøre således:

<td class="row1" onmouseover="this.style.backgroundColor=cRowOver;" onmouseout="this.style.backgroundColor=cRow1;" onclick="window.location.href=url1"><a href="URL">test</a></td>

<td class="row1" onmouseover="this.style.backgroundColor=cRowOver;" onmouseout="this.style.backgroundColor=cRow1;" onclick="window.location.href=url2"><a href="URL">test</a></td>


???
Avatar billede knudgert Nybegynder
04. april 2004 - 12:25 #7
Er godt klar over, at mit svar ikke er optimalt.
Hvis man brugte andre browsere end IE, så kunne man gøre det med hover på <td>...
Avatar billede roenving Novice
04. april 2004 - 12:27 #8
Jeg ville dog nok også fjerne a-tagget ...

<td class="row1" onmouseover="this.style.backgroundColor=cRowOver;" onmouseout="this.style.backgroundColor=cRow1;" onclick="window.location.href=url1">test</td>

<td class="row1" onmouseover="this.style.backgroundColor=cRowOver;" onmouseout="this.style.backgroundColor=cRow1;" onclick="window.location.href=url2">test</td>

For også på a-tagget kan du det samme onclick, men der er vel inegn grund til at gøre det to gange ?-)
Avatar billede miwu.tk Nybegynder
04. april 2004 - 12:29 #9
Heh, visse folk opdager jo først at noget er et link når der kommer en lille finger frem, så den har jeg blot taget med pga. brugervenlighed :D
Avatar billede roenving Novice
04. april 2004 - 12:34 #10
Så sæt en cursor:pointer på stylen til td'en !-)
Avatar billede miwu.tk Nybegynder
04. april 2004 - 12:38 #11
Good point ;P
Avatar billede miwu.tk Nybegynder
04. april 2004 - 17:29 #12
Hvad nu hvis jeg vil sætte target til at være "_blank"?
Avatar billede roenving Novice
04. april 2004 - 18:44 #13
Så bliver det:

<td class="row1" onmouseover="this.style.backgroundColor=cRowOver;" onmouseout="this.style.backgroundColor=cRow1;" onclick="window.open(url1,'popup');">test</td>

-- og hvis du vil angive størrelse på popup'en skal det tilføjes, så der står:

onclick="window.open(url1,'popup','width=400,height=300,status=no');"
Avatar billede miwu.tk Nybegynder
25. december 2008 - 12:30 #14
lukket
Avatar billede roenving Novice
28. december 2008 - 14:02 #15
Tak for point ,-(
Avatar billede miwu.tk Nybegynder
28. december 2008 - 14:30 #16
hov, det er jeg virkelig ked af. Jeg gik bare igang med at lukke alle de åbne spørgsmål, som jeg havde og kiggede ikke ordentligt efter.

Er der en måde, hvor man kan overføre point? Det var virkelig ikke meningen, at jeg ville frarøve dig dine point. Jeg undskylder rigtig rigtig mange gange.
Avatar billede roenving Novice
28. december 2008 - 14:58 #17
Tjah, hvis du opretter et nyt spørgsmål i samme kategori med "Point til brugernavn" i overskriften, og en reference til dette spørgsmål i bodyen kan du oprette en lovlig point-oveførsel !-)
Avatar billede miwu.tk Nybegynder
28. december 2008 - 15:04 #18
http://www.eksperten.dk/spm/857842

Here you go. Jeg kan ikke lige huske hvor mange point det her spørgsmål var værd, så jeg har bare sat den til 200pt pga. fejl fra min side osv.
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