Patrick Andrieu: weiter im Programm: Script-Verbesserung

Beitrag lesen

Hallo juewi!

Aber für mein Verständnis wieder eine Nachfrage: *duck*
wenn ich das Script als zB Funktion "linkindex" einsetze -

Jetzt zweifle ich an meinem Verständnis, wie meinen?

ginge dann nicht auch der Aufruf über "body onload"? Wo ist der Unterschied zu window.onload?

Grundsätzlich keinen. Den Event »onload« gibt es ja nur ein Mal. Doch alles in die JavaScript-Datei zu packen befreit Deinen HTML-Code von einer unschönen Vermischung HTML/JavaScript.

Hier im letzten Beispiel wird window.onload eine anonyme Funktion zugewiesen, welche ja über document.links iteriert und denjenigen Links mit der Klasse xy wiederum mittels onclick eine Funktion zuweist.

Möchtest Du stattdessen den onload-Event über das gleichnamige HTML-Attribut feuern, dann müsstest Du der Funktion wieder einen Namen geben:

        var a = document.links;  
        function tausch() {  
          for (var i = 0; i < a.length; i++) {  
            if (a[i].className == 'th') {  
              a[i].onclick = function() {  
                document.aktuelles_foto.src= this.href;  
                return false;  
              }  
            }  
          }  
        }

und im HTML:
<body onload="tausch();">

Aber die Variante ohne HTML-Attribut ist natürlich schöner. Etwas kompliziert wird es, wenn Du weitere Skripte einbindest, die ebenfalls auf das fertige Laden der Seite angewiesen sind, und also auch window.onload im Code haben. Aber auch dafür gibt es Lösungen, nach denen Du uns dann fragst, wenn Du ein bisschen weiter bist ;)

Viele Grüße aus Frankfurt/Main,
Patrick

--
_ - jenseits vom delirium - _

   Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?