Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

HTML Rollover Image code werkt niet.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal,

Ik wil graag een rollover image, dus dat als ik boven een plaatje hangt, het plaatje verandert.
Hiervoor gebruik ik de volgende code:

<a href="index.html"><img src="Images/buttons/home_btn.png" onmouseover="this.src=Images/buttons/info_btn.png"
onmouseout="this.src=Images/buttons/home_btn.png"/></a>

De afbeeldingen staan in de juiste map maar als ik boven het plaatje ga hangen gebeurt er niks. Wel werkt de link normaal.

Weet iemand hoe dit komt?
Alvast bedankt.

Luuk.

Verwijderd

Je moet geldige javascript binnen de quotes van de onmouseover handler hebben, dat is inclusief quotes en kan verwarrend zijn:
HTML:
1
2
3
4
5
<a href="index.html"><img
  src="Images/buttons/home_btn.png"
  onmouseover="this.src='Images/buttons/info_btn.png';"
  onmouseout="this.src='Images/buttons/home_btn.png';"
/></a>

De error console van je browser zou je hiervoor moeten waarschuwen.

Verwijderd

Topicstarter
Hij doet het! Ik ben nog aan het leren hoe HTML precies werkt, zou je het misschien nog een keer uit kunnen leggen, maar dan iets makkelijker? Wat zijn bijvoorbeeld 'handlers'? En ik neem aan dat quotes dit zijn; "".
Alvast bedankt.

  • Merethil
  • Registratie: December 2008
  • Laatst online: 21:36
De handlers waar Cheatah het over had is het systeem dat je browser gebruikt om javascript te koppelen aan functies als "onmousover" en "onmouseout" (en "onchange", "onclick" etc.). Het systeem gaat op zoek naar de specifieke keywords (onmouseover en onmouseout in jouw geval) en binden aan die specifieke acties jouw specifieke javascript.

Om iets aan een handler zoals onmouseover mee te geven, moet je je javascript tussen dubbele aanhalingstekens plaatsen (" " dus), maar omdat je javascript, om goed te functioneren, ook aanhalingstekens nodig heeft, moet je wat je toewijst aan je "this.src" ook tussen enkele aanhalingstekens plaatsen. Normaalgesproken gebruik je daar dubbele voor, maar omdat je al dubbele gebruikt om iets aan "onmouseover" te assignen, moet je enkele gebruiken in de statement omdat je anders de dubbele afsluit en opnieuw opstart.

Voorbeeldje:

Foutief (Merk op: Het gebruik van tweemaal dubbele aanhalingstekens):
HTML:
1
2
3
4
5
<a href="index.html"><img
  src="Images/buttons/home_btn.png"
  onmouseover="this.src="Images/buttons/info_btn.png";"
  onmouseout="this.src="Images/buttons/home_btn.png";"
/></a>


Correct:
HTML:
1
2
3
4
5
<a href="index.html"><img
  src="Images/buttons/home_btn.png"
  onmouseover="this.src='Images/buttons/info_btn.png';" <-- Hier hangt je browser this.src=xxx aan je onmouseover handler
  onmouseout="this.src='Images/buttons/home_btn.png';" <-- Hier hangt je browser this.src=xxx aan je onmouseout handler
/></a>


Over het algemeen is dit soort spul handig, maar niet het netst. Beter is om er een functie van te maken in een .js-file die je invoegt in je <head> van je HTML en aanroept in je onmouseover/onmouseout en andere handlers in <a> / <button> etc. tags.

Verwijderd

Topicstarter
@Merethil: Aha, nu snap ik 'm. Bedankt voor je uitleg, hier heb ik zeker wat aan!