/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
MouseOver fungerer ikke
Fra : Tim Sørensen


Dato : 04-07-02 18:45

Hvad er der galt med dette:

<td style="cursor:hand" width="20%" align="center" id="forsiden"
onmouseover="document.all('forsiden').bgcolor='#ff0000'">

--
Mvh.... Tim Sørensen
http://www.dondata.dk/



 
 
Stig Nygaard (06-07-2002)
Kommentar
Fra : Stig Nygaard


Dato : 06-07-02 19:48

Hej Tim


Tim Sørensen wrote:
> Hvad er der galt med dette:
> <td style="cursor:hand" width="20%" align="center" id="forsiden"
> onmouseover="document.all('forsiden').bgcolor='#ff0000'">

Først og fremmest skal du være opmørksom på, at hvor HTML ikke er
case-sensitive, så er JavaScript altså! Det virker derfor kun hvis du
skriver bgColor i stedet for bgcolor.

Desuden har jeg et par andre bemærkninger til hvordan du kan forbedre
koden...

En cursor af typen "hand" er en non-standard Microsoft opfindelse. W3C
standarden siger at du skal bruge "pointer" i stedet. Netscape og
Mozilla understøtter f.eks. ikke "hand". Desværre understøtter IE heller
ikke "pointer", men der er en work-around så det virker både i Internet
Explorer og browsere der følger W3C standarden. Du angiver bare begge,
men bemærk at det *skal* være i følgende rækkefølge:

style="cursor: pointer; cursor:hand"

Din mouseover farve-effekt virker dog stadigvæk kun i Internet Explorer
fordi du bruger document.all[]. Normalt bør du i stedet for
document.all[] bruge document.getElementById() funktionen som er en del
af W3C standarden og er understøttet af Internet Explorer 5+, Netscape
6+, Opera 5+, Konqueror, Mozilla, m.fl. Du mister dog så umiddelbart
understøttelse af Internet Explorer version 4, men hvis den er vigtig
kan du bruge kode a'la:

if (document.getElementById) // W3C kompatibel browser
document.getElementById('forsiden').bgColor = '#FF0000'
else if (document.all) // Internet Explorer version 4
document.all['forsiden'].bgColor = '#FF0000';

I dette tilfælde kan det dog gøres meget simplere, da det er elementet
selv du ønsker at ændre attributter på. Du kan bruge "this" og i stedet
skrive din kode bare:

<td style="cursor: pointer; cursor:hand" width="20%" align="center"
onmouseover="this.bgColor='#ff0000'">

Til slut vil jeg da i øvrigt foreslå at overveje at droppe bgColor og
bruge en style i stedet.


--
Mvh. Stig
stig[at]rockland[dot]dk
http://www.rockland.dk/
* Bedre (D)HTML ?! --> http://www.rockland.dk/stig/upghtml.html *


Tim Sørensen (06-07-2002)
Kommentar
Fra : Tim Sørensen


Dato : 06-07-02 22:08

"Stig Nygaard" <stig@REMOVE-THISrockland.dk> wrote
> (En masse gode ting)

Hej Stig

Og tak for det meget gode svar.

Du har fået åbnet mine øjne for en del, som jeg ikke var klar over.
F.eks med hensyn til, cursor / kompatibilitet- og at JScript er Case
Sensitive.

Tak igen for svaret

--
Mvh.... Tim Sørensen
http://www.dondata.dk/



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste