Sebastian Schimpf: Schwierigekeiten mit dem Auslagern eines js

Beitrag lesen

Moin,

ich habe mir ein kleines Script zu nutze gemacht, welches
ein div auf Mausklick ein- bzw. ausblendet.

Hier das Script:

function expandCollapse() {
 for (var i=0; i<expandCollapse.arguments.length; i++) {
  var element = document.getElementById(expandCollapse.arguments[i]);
  element.style.display = (element.style.display == "none") ? "block" : "none";
 }
}

function ShowLayer(id)
{
  document.getElementById().style.display = "block";
}

Funktioniert einwandfrei!

Im HTML-Quellcode habe ich folgendes:

<div id="style-menu">
<div id="on" style="border: 1px solid #90ee90; padding: 5px;">
<a href="javascript: expandCollapse('expand', 'on');">Schrift-Menü öffnen</a>
</div>
<div id="expand" style="display: none; border: 1px solid #90ee90;padding: 5px;">
<a href="javascript: expandCollapse('expand', 'on');">Schrift-Menü schließen</a>
Inhalt ...
</div>
</div>

Auch das funktioniert so ganz gut.

Sobald ich allerdings die Funktion expandCollapse()
in ein Script auslagere, funktioniert es nicht mehr:

Meldung der js-Console (Mozilla):
Fehler: expandCollapse is not defined
Quelldatei: javascript: expandCollapse('expand', 'on');
Zeile: 1

Ich frage mich und nun auch euch,
was ich hier wohl falsch mache.
Vielleicht kann mir jemand weiterhelfen.

Liebe Grüße,
Sebastian