Hallo,
hat jemand einen Tipp wie ich mein Script umgestalten müsste damit ich es auf mehrere Objekte beziehen kann?
Du lässt die Funktion eine beliebige Anzahl von Parametern entgegen nehmen. Jeder Parameter ist eine Element-ID. Die Parameterliste kann leer sein. Auf die tatsächlich übergebenen Parameter kannst du mit der http://de.selfhtml.org/javascript/objekte/function.htm#arguments@title=arguments-Liste zugreifen.
Diese durchläufst du mit einer http://de.selfhtml.org/javascript/sprache/schleifen.htm#for@title=for-Schleife. Für jede ID holst du dir das zugehörige Element. Dann toggelst du die Inline-Styles.
var toggle = function() {
for (var i = 0, l = arguments.length; i < l; i++) {
var id = arguments[i];
var el = document.getElementById(id);
if (!el) continue;
var style = el.style;
if (style.display == 'none') {
// Lösche den Inline-Style, sodass wieder die Standard-Styles gelten.
style.display = '';
} else {
style.display = 'none';
}
}
};
toggle('id1', 'id2', 'id3', …);
Dasselbe geht natürlich mit einer Klasse (http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#universaleigenschaften@title=className-Eigenschaft), für die du entsprechende Styles vergibst.
Mathias