login  Naam:   Wachtwoord: 
Registreer je!
 Forum

image onmouseover werkt niet

Offline Sinnerman - 10/03/2007 16:25 (laatste wijziging 10/03/2007 16:25)
Avatar van SinnermanNieuw lid Hallo mensen,
Allereerst even mijn complimenten voor de goede tutorials waarmee ik een flink stuk verder ben gekomen met mijn site.

Nu heb ik echter een probleem in de volgend code waar ik de fout maar niet in kan ontdekken

  1. <body>
  2.  
  3. <script type="text/javascript">
  4. function thuis()
  5. { document.menu1.src="menubar/interessesup.gif";
  6. document.getElementById('menu1').href="javascript:thuis()";
  7. document.menu2.src="menubar/interesses.gif";
  8. }
  9.  
  10. function over1()
  11. { if(document.menu1.src="menubar/interessesup.gif") document.menu1.src="menubar/upover.gif";
  12. else if(document.menu1.src="menubar/interesses.gif") document.menu1.src="menubar/interessesover.gif";
  13. }
  14.  
  15. function uit1()
  16. { if(document.menu1.src="menubar/interessesup.gif") document.menu1.src="menubar/interessesup.gif";
  17. else if(document.menu1.src="menubar/interessesover.gif") document.menu1.src="menubar/interesses.gif";
  18. else if(document.menu1.src="menubar/upover.gif") document.menu1.src="menubar/interessesup.gif";
  19. }
  20. </script>
  21.  
  22. <a id="menu1"><img name="menu1" id="menu" border="0" onmouseover="over1()" onmouseout="uit1()"></a>
  23.  
  24.  
  25. <script type="text/javascript">
  26. {document.menu1.src="menubar/interesses.gif";
  27. document.getElementById('menu1').href="javascript:thuis()";}
  28. </script>


Het ankertje is een variabele image waar bij het laden van de pagina het onderste script aan wordt toegekend. Als ik eroverheen ga met mijn muis verschijnt er de afbeelding 'upover.gif' en niet 'interessesover.gif', zoals zou moeten want de button is nog niet geactiveerd.
Als ik de strings van function over() verwissel, dan verschijnt juist 'interessesover' in plaats van upover.
Activeer ik de afbeelding door erop te klikken, krijg ik de juiste afbeelding en als ik er vervolgens overheen ga laadt hij ook 'upover' (zoals moet in dat geval), maar als ik de strings in over() heb gewisseld, laadt hij juist 'interessesover'.

Het lijkt er dus op dat alleen de eerste string gelezen wordt van mijn js over(), en niet de tweede "if..."

How come???

5 antwoorden

Gesponsorde links
Offline Stijn - 10/03/2007 17:25
Avatar van Stijn PHP expert Je if statements zijn verkeerd. In een if vergelijk je dingen met elkaar. Jij stelt ze gelijk.

  1. if(document.menu1.src="menubar/interessesup.gif")


dit is verkeerd, want je set menu1.src gelijk aan "menubar/..."

Zo moet het zijn:

  1. if(document.menu1.src == "menubar/interessesup.gif")


Dit moet je nu ook veranderen voor alle andere if statements.

stijn
Offline Sinnerman - 10/03/2007 18:26
Avatar van Sinnerman Nieuw lid Bedankt voor je reactie,
Ik heb de statements gewijzigd zoals je zei, maar het heeft niet geholpen. Hij lijkt de hele over() en uit() functies niet meer te lezen. Die afbeeldingen laat hij niet zien, en gaat direct door naar de 'interessessup'.

Blijkbaar was dat het niet :S
Thanks though...
Offline Stijn - 10/03/2007 18:46
Avatar van Stijn PHP expert Gebruik DOM:

  1. document.getElementById('menu1').src


ipv

  1. document.menu1.src


Trouwens die dubbele =-teken moet altijd staan in een if statement, dus dat zat er wel voor iets tussen.

stijn
Offline Sinnerman - 10/03/2007 20:27 (laatste wijziging 17/03/2007 15:04)
Avatar van Sinnerman Nieuw lid Wederom je advies opgevolgd, zowel met dubbele als enkele =, maar het maakte geen verschil :S
Hij pakte weer de upover-image en niet de interessesover...

iemand??

Offline Ibrahim - 17/03/2007 15:27
Avatar van Ibrahim PHP expert bij een vergelijking gebruik je dubbele =-tekens dus ==
bij een toekenning gebruik je 1 =-teken dus =
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.337s