[latex]Mae govannen![/latex]
window["div"+i]=document.createElement("div"); window["div"+i].appendChild(window["star"+i]); window["div"+i].style.color="#fff"; DB.appendChild(window["div"+i]); /\* size and base-position and store for each snowflake\*/ myFontSize[i] = Math.ceil(Math.random()\*40); window["div"+i].style.fontSize=myFontSize[i] + "px"; window["div"+i].style.position="absolute";
[usw.]
Hier muß bei jedem einzelnen(!) Aufruf das window-Objekt nach der entsprechenden Eigenschaft durchsucht werden, wobei es ohnehin schleierhaft ist, weshalb alles ans windows-Objekt gehängt wir und weshalb durchgängig globale Variablen verwendet werden.
Wie kann man das ganze optimieren, oder geht das garnicht?
Äh, die Frage wäre eher, was man an diesem Script _nicht_ optimieren könnte >:->
Wäre es schlau, eine Klasse zu bauen, mit eingebauter snow-Funktion?
Klassen kennt Javascript nicht, nur Objekte. Aber ein objektorientierter Ansatz würde dem Script sicherlich gut tun.
Oder die Sinusberechnung (horizentale Auslenkung) vorzuberechnen und in einem Array zu speichern?
Bei einer überschaubaren Anzahl von Werten durchaus. Ich hab mir das Script noch nicht näher angeschaut, daher weiß ich nicht genau, wie viele Werte hier sind, aber man könnte natürlich die sinus-Berechnungen einmalig machen und dann für jede Flocke das Array an einem jeweils zufälligen Wert anspringen und bei Update den nächsten Wert nehmen bzw wieder zum Array-Anfang springen ..
Cü,
Kai
Even if you are a master of jQuery, you can only create mediocre (at best)
scripts. The problem is that the authors you rely on have not mastered the
DOM themselves. It's like one blind guy leading another off a cliff (D.Mark/clj)
Foren-Stylesheet Site Selfzeug JS-Lookup
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?