login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Waarom een for loop?

Offline Shonof - 18/12/2007 21:01 (laatste wijziging 19/12/2007 09:01)
Avatar van ShonofNieuw lid Ik ken tegenwoordig best goed Javascript. Ik ben nu bezig met een dropdown menu met dit script (hieronder), ik snap alleen dit niet.
for (i=0; i<elements.length; i++)
Waarom moet het perse via dit? Al maak van heel die for loop een functie of een if loop dan werkt het niet meer.

Ik hoop dat er iemand mij kan uitleggen waarom dit zo is. Alvast bedankt voor de moeite.

  1. ooMouse = function()
  2. { // 1 open
  3.  
  4. // Variabele elements = the id nav(uit CSS) en de tag li (gewoon HTML) ----- document. = ???
  5. elements = document.getElementById("nav").getElementsByTagName("li");
  6.  
  7. // Variabele i = 0 --- i kleiner dan de lengte van nav en li en dan steeds +1 --- dus --- 0 t/m 5 (6 stappen)
  8. [u]for (i=0; i<elements.length; i++)[/u]
  9. { // 2 open
  10.  
  11. // De variabele elements[0t/m6] word geladen als je met je muis over nav of li overheen gaat.
  12. elements[i].onmouseover = function()
  13. { // 3 open
  14.  
  15. // Deze class(uit CSS) word geladen ----- Alleen als je met je muis over nav of li gaat.
  16. this.className = "ie_does_hover";
  17. } // 3 sluiten
  18.  
  19. // De variabele elements[0t/m6] word geladen als je met je muis van nav of li eraf gaat.
  20. elements[i].onmouseout = function()
  21. { // 4 open
  22.  
  23. // Deze class(uit CSS) erbij gehaald(nog van onmouseover) en vernanderd in niks
  24. this.className = this.className.replace("ie_does_hover", "");
  25. } // 4 sluiten
  26. } // 2 sluiten
  27. } // 1 sluiten
  28.  
  29. // window.attachEvent = ???
  30. if (window.attachEvent) window.attachEvent("onload", ooMouse);


Citaat:
Code tags gebruiken aub!

2 antwoorden

Gesponsorde links
Offline Rik - 18/12/2007 21:06
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Wil je de volgende keer code tags gebruiken? Dat staat een stuk netter en je code is dan veel beter te lezen!

Je gaat alle "li" elementen af binnen het element met id "nav" en voegt er mouseover effecten aan toe. Je kan van te voren wel weten dat dat er zes zijn, maar als je er later één toevoegd hoef je op deze manier niet telkens je javascript aan te passen. De reden dat dit niet handig kan met een if of een functie is omdat je dan een paar keer dezelfde code krijgt. Een for loop is hier de eenvoudigste oplossing.
Offline Shonof - 18/12/2007 23:33
Avatar van Shonof Nieuw lid Super thx man. Ik zal de volgende keer code tags gebruiken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.364s