Avatar billede superraider Nybegynder
01. september 2004 - 15:44 Der er 12 kommentarer og
1 løsning

link, onmouseover nyt billed

jeg har et link, og tre billeder.

så vil jeg gerne lave sådan, at onmouseover så vises billed to, og når klikes vises billed tre.

Har lidt i tankerne.

<a><div id=billed>billed<div><a/>

kan jeg så ikke med functioner ændre billedet. Noget i den retning, har ikke lgie brugt javascript så meget før, eller jo men det var bare kopiret uden at sætte mig ind idet
Avatar billede roenving Novice
01. september 2004 - 15:49 #1
F.eks. sådan !-)

<div onmouseover="this.firstChild.src='billede2.jpg'" onclick="this.firstChild.src='billede3.jpg'"><img src="billede1.jpg" style="width:100px;height:100px;"><div>
Avatar billede superraider Nybegynder
01. september 2004 - 16:03 #2
ja ok, jeg kan selv smide det i en function.  hvad betyder det der firstChild.src
Avatar billede roenving Novice
01. september 2004 - 16:23 #3
this er det element, som modtager eventen, her diven ...

firstChild er det første element, som ligger indeni, da der her kun er et eneste, er det altså img-tagget, og .src er så den attribut på img-tagget, som ændres !-)

-- og du kan selvfølgelig godt lave det til en funktion, men så vil this og firstChild jo ikke mere være direkte gyldige, så du skal noget i denne retning:

function chImg(elm,bill){
  elm.firstChild.src = bill;
}

-- og:

<div onmouseover="chImg(this,'billede2.jpg')" onmouseout="chImg(this,'billede1.jpg')" onclick="chImg(this,'billede3.jpg')"><img src="billede1.jpg" style="width:100px;height:100px;"><div>
Avatar billede superraider Nybegynder
01. september 2004 - 16:33 #4
sådan som du laver det der ser ok ud, men hvis du aligevel kalder dem alle this, så behøver du vel ikke og bruge variable elm.

kan man ikke også give div et id, og så kalde den gemme den
div id="divelm"
divelm.firstchild.src
Avatar billede roenving Novice
01. september 2004 - 16:42 #5
Jo, hvis du kun har IE- og Opera-brugere !-)

-- ellers ikke !-)

-- og jeg har netop lavet den sådan, fordi det kunne være, at du havde flere forskellige steder, du skulle lave det samme, så du f.eks. kunne:

function chImg(elm,bill){
  elm.firstChild.src = bill;
}

<div onmouseover="chImg(this,'billede2.jpg')" onmouseout="chImg(this,'billede1.jpg')" onclick="chImg(this,'billede3.jpg')"><img src="billede1.jpg" style="width:100px;height:100px;"><div>

<div onmouseover="chImg(this,'billede5.jpg')" onmouseout="chImg(this,'billede4.jpg')" onclick="chImg(this,'billede6.jpg')"><img src="billede4.jpg" style="width:100px;height:100px;"><div>

<div onmouseover="chImg(this,'billede8.jpg')" onmouseout="chImg(this,'billede7.jpg')" onclick="chImg(this,'billede9.jpg')"><img src="billede7.jpg" style="width:100px;height:100px;"><div>
Avatar billede superraider Nybegynder
01. september 2004 - 16:51 #6
ok, det er også rigtig nok, smart.

det der firstChild, kan jeg bruge det i en <a> eller er det kun i div.

for om jeg kan gøre sådan her, <a chImg()><img></a>
Avatar billede roenving Novice
01. september 2004 - 16:53 #7
Det kan du godt, for img-elementet er omkranset af a-elementet !-)

-- og velbekomme '-)
Avatar billede superraider Nybegynder
01. september 2004 - 17:26 #8
point til dig, og så lige et tillægsspørgsmål.
er der også noget der hedder secondChild
altså for anden og tredje element,
Avatar billede roenving Novice
01. september 2004 - 17:31 #9
Nej, der skal du over i childNodes[nummer] (Gecko-, andre DOM-browsere og IE) eller children[nummer] (kun IE) ...

-- og bemærk at arrays er 0-baserede i javascript, så den første hedder [0], den anden [1] osv. !-)

-- og tak for point ;~}
Avatar billede superraider Nybegynder
01. september 2004 - 17:39 #10
så childNodes[3] tager nr 3, så siger jeg tak
Avatar billede roenving Novice
03. september 2004 - 03:23 #11
Næh, childNodes[3] tager den fjerde, den tredje skal du have fat i med childNodes[2] ...
Avatar billede superraider Nybegynder
03. september 2004 - 17:24 #12
idioter der har tilfør 0 til talrækken
Avatar billede roenving Novice
03. september 2004 - 23:53 #13
Matematikerne i 1300-tallet var ret begejstrede, fordi det betyder at den nutidige matematik overhovedet er mulig ...

-- og uden nulbaseringen kan man faktisk slet ikke lave computere baseret på det binære system, såeh ...

-- og det talsystem vi bruger er jo dybt afhængigt af 0-et !-)

-- til gengæld har jeg ikke det fjerneste problem med at forstå, at en skelnen kan være svær, men selv tænker jeg den logik, at hvis du kigger på det første element, skal du bevæge dig 0 trin ind i arrayet, og så giver det en slags mening !o]
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