Roadster: Anfängerfragen zum Thema Funktionen in JS

Beitrag lesen

Hallo Gunnar!

nuqneH

(Ist das klingonisch?)

var infoscreen = document.getElementById("infoscreen") sollte außerhalb der Funktion stehen. Wenn die Funktion mehrfach aufgerufen wird, würde jedesmal das Element "infoscreen" im DOM gesucht werden, obwohl es immer dasselbe ist.

Ja, die Geschichte mit den Variablen!

Ehrlich, ich habe keine Ahnung, wo ich die am besten notiere, denn die Sache ist doch die:

Wie ich in meiner Antwort auf 1UnitedPower schon schrieb, ist es so, dass meine ganze Seite aus animierten Boxen besteht - also zum besseren Verständnis:

+---------------------------------------------+
|                                             |
|    +----------------+ +----------------+    |
|    |     box 1      | |      box 2     |    |
|    +----------------+ +----------------+    |
|    +------+  +------+ +------+  +------+    |
|    | box  |  | box  | |  box |  |  box |    |
|    |      |  |      | |      |  |      |    |
|    |  3   |  |  4   | |   5  |  |   6  |    |
|    +------+  +------+ +------+  +------+    |
|    +------+  +------+ +------+  +------+    |
|    |box 7 |  |box 8 | | box 9|  |box 10|    |
|    +------+  +------+ +------+  +------+    |
|                                             |
+---------------------------------------------+

So in etwa könnte ein Layout für eine Seite innerhalb meiner Webseite aussehen (davon gibt es mehrere verschiedene).

Dabei ist jede Box in dem Sinne animiert, dass sie einen "Auftritt" und einen "Abgang" hat, und je nachdem welche Box angeclickt wird, schrumpfen die (oder manche) Boxen auf einen reinen Text-Button zusammen, wobei das Bild in der Mitte der Box verschwindet, oder sie vergrößern sich zu einer großen Info-Box mit Textinhalt (oder sie sorgen dafür, dass das angezeigte Boxen-Set verschwindet und ein neues Set aus neuen Boxen - oder, wenn im konkreten Fall möglich, auch den selben Boxen, nur mit anderem Inhalt - erscheint).

Mir ist klar, dass ich dabei hart an der Grenze zur pathologischen Megalomanie agiere, aber die Seite wirkt dabei tatsächlich weder "verspielt" noch "überladen" ---> das läuft alles sehr dezent ab und ist in einem recht minimalistischen Design gehalten / also ich habe mir dabei schon was gedacht und es grundsätzlich ja auch erfolgreich umgesetzt...

Problematisch ist dabei allerdings, dass es eine riesige Menge an Variablen gibt, die mit der Seitensteuerung verbunden sind, denn wann immer ein neues Layout (bzw. eine neue "Seite") aus neuen (oder mit neuem Inhalt versehenen) Boxen geladen wird oder auch nur eine einzige Box angeclickt wird, müssen ja über das DOM alle, bzw. fast alle Elemente der Seitenansicht angesprochen werden!

Ergo sind 95% aller Variablen Teil von Funktionen, die - wenigstens potentiell - mehrfach aufgerufen werden (und geschätzte 60-80%, die in mehreren verschiedenen Funktionen zum Einsatz kommen).

Dementsprechend hatte ich meine erste Version des scriptes mit einer episch langen Liste an Variablen begonnen, auf die ich dann mit den Funktionen zurückgegriffen habe.

Dann habe ich allerdings einen Artikel gelesen, wo es um die Performance von scripten ging, und da stand drin, dass man tunlichst vermeiden sollte, Variablen außerhalb von Funktionen zu schreiben, da diese dann "den Speicher verstopfen würden", wenn sie nur zahlreich genug wären.

Über die Auslegung des Wortes "zahlreich" muss im Zusammenhang mit meiner Webseite nicht spekuliert werden:

Die Beschreibung der folgenden copy&paste-Aktion erspare ich dir...

Also, ich habe keine Ahnung, wohin mit den Variablen!

Gruß,

Roadster.