Erklärung für Script

Hallo,
da ich in JavaScript nicht ganz fitt bin, und ein glaube ich eigentlich ganz simples Script gefunden habe, es aber nichts bringt, wenn ich es in mein Projekt kopiere, davon aber sowieso nichts verstehe, bitte ich euch, mir das Script mal zu erklären.

Verstecktes Layer sichtbar machen
function showHideLayer(id){
e = document.getElementById(id);
if(e.style.display==„block“){
e.style.display = „none“;
} else {
e.style.display = „block“;
}
}
Anzeigen/Verstecken

Mein verstecktes Layer


Es wär nett wenn mir jemand, erklären könnte, was wo passiert.
Danke, Johny

Habe was vergessen, ich bin dabei ein Buch zu lesen und JavaScript zu lernen. Also, denkt bitte nichts falsches, :smile:

Danke

Hi,
das Script, so wie es da ist, funktioniert.

function showHideLayer(id){

Definiert eine Funktion „showHideLayer()“ die einen Parameter erwartet. Dieser landet in der Variable „id“.

e = document.getElementById(id);

Die globale Variable „e“ auf ein Element im Dokument. Das Element wird mit der Methode getElementById bestimmt. Verwendet wird hierfür die zuvor als Parameter an die Funktion gegebene ID.

if(e.style.display==„block“){
e.style.display = „none“;
}

Es wird abgefragt ob der Wert der style-Eigenschaft „display“ gleich „block“ ist. Wenn ja, dann wird dieser auf „none“ gesetzt,

else {
e.style.display = „block“;
}
}

ansonsten auf „block“.

Anzeigen/Verstecken

Mein verstecktes Layer

Das onClick-event ruft beim klicken auf den Link die Funktion auf.
Übergeben wird ein Parameter mit dem Namen des Elements das verschwinden/auftauchen soll. Also „meinLayer“.
„return(false)“; hindert den Browser daran der Standardaktion nachzugehen, in dem Fall also dem Link zu folgen.

In Deinem Projekt muss wahrscheinlich die ID angepasst werden.
Wenn Dein Element Text… ist, dann muss die Funktion so aufgerufen werden:
showHideLayer(‚meinProjekt‘);

Generell ist es immer schlecht globale Variablen zu verwenden, außer man will es gezielt. Und auch dann gibt es bessere Wege :wink:
Deshalb sollte im Script vor „e = document […]“ ein „var“ kommen, damit wird die Variable nur innerhalb der Funktion deklariert.
„var e = document.getElement […]“.

JavaScript-Events direkt im HTML Markup zu hinterlassen ist auch nicht so schön, besser ist es die Events im Script zu definieren.

mfg,
mdev

Danke !
Ich werde deine Tipps beachten…Das Script kommt ja sowieso nicht von mir sondern von einer Webseite. Vielen Dank !!