OnOff-Makros zum Ein- und Ausblenden von Seitenelementen

Mit Hilfe der sel-Makros lassen sich beliebige Seitenelemente durch Mausklick ein- und ausblenden. Eine einfache Anwendung davon wäre eine Seite mit Fragen und Antworten. Dabei sollen alle Fragen in einer Liste aufgeführt sein. Wenn man eine Frage anklickt, soll die Antwort darunter eingeblendet werden.

Dies lässt sich mit den sel-Makros zwar gut programmieren, ist jedoch für diesen Fall relativ umständlich. Einfacher geht es mit den auf dieser Seite aufgeführten OnOff-Makros, welche ihrerseits die sel-Makros verwenden und für die Formatierung ein paar Styles definieren.

Anwendung

Version mit einer einzeiligen Antwort:

{{OnOffLine|Frage|Antwort|open|noborder|css}}

Version für beliebige einblendbare Seitenbereiche:

{{OnOff|id=Name|Einblend-Text|Ausblend-Text|print|open|noborder|header|ccs}}
Wikitext
{{OnOffEnd}}
id=Name (Optional)
Wenn dem On-Off-Block eine ID gegeben wird, kann dieser Block mit dem URL parameter open=Name beim aufruf der Seite geöffnet werden. Beachte: ist die URL ein Link auf einen On-Off-Block Titel, wird dieser Block automatisch geöffnet.
Einblend-Text
Text, der angezeigt wird, wenn Wikitext nicht sichtbar ist.
Ausblend-Text (optional)
Text, der angezeigt wird, wenn Wikitext sichtbar ist. Wird dieser Text nicht angegeben, so wird immer Einblend-Text angezeigt.
print (optional)
Wenn dieser Parameter nicht angegeben wird, werden beim Drucken der Ein- und Ausblend-Text nicht gedruckt. Wenn print angegeben wird, werden die Texte gedruckt. Beim Makro OnOffLine wird der Text Frage immer gedruckt.
open (optional)
Wenn dieser Parameter angegeben wird, so wird das OnOff-Element geöffnet angezeigt.
noborder (optional)
Standardmässig wird der Text Antwort bzw. Wikitext auf der linken Seite eingerückt und mit einer Rahmenlinie gezeichnet. Wenn noborder angegeben wird, so wird der Text ohne Rahmen linksbündig angezeigt.
header (optional)
kann werte header = header1 oder header2 haben. Wenn diese Option angegeben wird, wird der Ein-/Ausblend text als header der entsprechenden stufe formatiert. Note: diese header werden nicht in das Inhaltsverzeichnis der Seite aufgenommen.
Note: ist das header Attribute gesetzt, wird der Enable-Text in das Verzeichnis der Seite aufgenommen und der OnOff-Abschnitt kann durch Klick auf diesen Eintrag angesprungen werden. Siehe Anker (Ziel-SeiteÜberschriften), um zu lernen, wie dies intern realisiert wird.
css (optional)
Hier können Style Sheet klassen für das ganze OnOff-Element angegeben werden. Die Klassen müssen mit einem $ Zeichen beginnen. Nützlich ist zum Beispiel die Angabe $VMargin, um oberhalb und unterhalb des OnOff-Elementes einen Abstand zu machen. Wenn im Wikitext Elemente enthalten sind, welche einen zu grossen Abstand haben, kann diesen Elementen eventuell die Klasse $NoMargin gegeben werden (z.B. einem Formel-Element {{mtab|#|box=$NoMargin}}).
Wikitext
Beliebiger Wikitext; kann mehrere Abschnitte, Tabellen, Formeln, Bilder usw. enthalten.

Beispiel

Ja natürlich
Tabellen funktionieren auch
{{OnOffLine|Wie Funktionieren die OnOff Makros?|Lies diese Seite}}

{{OnOffLine|Können Element auch standardmässig geöffnet sein?|
Wie du siehst, ja; mit dem Parameter ''open''|open}}

{{OnOff|Tabelle anzeigen|Tabelle verbergen|print|open|noborder}}

{| grid w:100%
! Ja
! natürlich
|-
| Tabellen
| funktionieren auch
|}

{{OnOffEnd}}