Hallo Insomnia,
if (el && el.style)
… das war mir so nicht klar, was aber aus jetziger sicht natürlich Sinn macht. Schlisse ich nach der ersten geschweiften Klammer gleich wieder ist die Frage Quasi unsinnig. Das der Sinn durch den Inhalt der geschweiften Klammern definiert wird war mir nicht klar.
Wir sollten trennen. Die Frage selbst ist nicht unsinnig oder unvollständig, wir würden nur nicht darauf reagieren. Es nützt nichts, wenn ich eine Frage stelle, und dann weitermache, ohne die Antwort zu berücksichtigen.
In unserem Fall wäre es so, als ob ich frage: „Hey, stürze ich in den Abgrund, wenn ich hier einfach weitergehe?”. Dann latsche ich einfach weiter, egal welche Antwort ich bekomme.
Wenn meine etwas eigenwilligen Interpretationen stimmen, habe ich die gesamte Sache verstanden und wir können zur Erweiterung für die Id kommen.
Naja, nicht ganz. Ich denke aber, dass du es schon verstanden, nur nicht optimal formuliert hast.
Machen wir also weiter.
Das Script funktioniert erstmal so, wie es jetzt ist.
Wir wollen aber die Möglichkeit haben, nicht nur eine sondern mehrere Ids zu übergeben. Für jede weitere Id ein zusätzlicher Parameter wäre nicht wirklich toll, weil wir dann festlegen müssten, wie viele genau wir übergeben wollen.
Würden wir eine kleine Anzahl festlegen, müssten wir das Script wieder ändern, falls es doch einmal mehr werden. Außerdem müssten wir dann auch jeden Aufruf der Funktion anpassen.
Würden wir gleich eine große Anzahl festlegen, dann würden wir die gerade nicht benötigten Parameter trotzdem jedesmal angeben müssen, wenn auch leer. Das würde dann vielleicht so aussehen:
<a href="#" onclick="[code lang=javascript]block_ein_aus ('info', '', '', '', '', '', '', '', '', 'ein');return false
">Infos</a>[/code]
Die dazu notwendige Erweiterung im Script würde dabei auch nicht unbedingt übersichtlich und leicht verständlich.
Besser, wir suchen uns eine andere Lösung.
Überlegen wir wir mal:
Eine Id darf nicht alle Zeichen enthalten, auf jeden Fall _keine_ Leerzeichen.
Die Funktion bekommt die Id als Zeichenkette übergeben ('info'), und Zeichenketten dürfen auch Leerzeichen enthalten.
Wenn eine Zeichenkette (der Parameter den wir übergeben) auch Leerzeichen enthalten darf, Ids aber keine, was liegt da näher, als mehrere Ids durch Leerzeichen voneinander getrennt zu übergeben.
Wir werden mehrere Ids als eine durch Leerzeichen getrennte Liste übergeben (z.B. 'info x-butten'). So eine Liste könnte dann sowohl eine einzelne Id, genauso aber auch eine beliebige Anzahl von Ids enthalten.
Natürlich funktioniert unser Script bisher nur mit einer einzelnen Id, so dass wir uns überlegen müssen, wie wir aus der Liste dann wieder die einzelnen Ids herausbekommen.
Dazu schau dir mal split() an.
Dann brauchen wir noch eine Möglichkeit, in einer Schleife eine Id nach der anderen zu verwenden.
Dazu schau dir mal Schleifen mit "for" an.
Dir wird bestimmt eine Möglichkeit einfallen, wie wir dies beides für unser Script verwenden können.
Auf Wiederlesen
Detlef
- Wissen ist gut
- Können ist besser
- aber das Beste und Interessanteste ist der Weg dahin!