Hallo Mathias,
vielen Dank für deine Tips. Ich hab auch schon gedacht es mit document.getElementsByClassName zu lösen, allerdings ist diese Funktion, wie ich es verstanden habe, relativ neu und wird deshalb von vielen älteren Browsern noch nicht interpretiert, oder?...
Die Alternativlösung funktioniert dann aber nur, wenn alle Elemente in einem Container sind, den ich per TagName selektiere? Geplant ist aber, abwechselnd Elemente der verschiedenen Bereiche untereinander zu plazieren...
Momentan habe ich es etwas unschön über eine eigene swapContent()-Funktion gelöst, die bei onClick des jeweiligen Buttons für jedes Element (per id, also hier das bild 'din' und 'michael') aufgerufen wird. (Es werden wohl nie mehr als 5 Elemente pro Kategorie sein)
<div onClick="swap('imgTypo', 'pTypo'); swapContent('din'); swapContent('michael');"><p>typo</p><div>
Die funktion:
function swapContent(elementId)
{
var obj = document.getElementById(elementId);
obj.style.display = (obj.style.display == 'none') ? 'block' : 'none';
}
funktioniert, ist aber sicher etwas unsauber. =)
ein weiteres Problem: um javaScript-Blockern den Zugang zum content zu ermöglichen, setze ich alle Elemente zunächst im css auf 'block', dann aber Einzelne durch die Funktion hideByDefault() im onLoad auf 'none'.
<body onLoad="hideByDefault()">
Kann ich das onLoad auch früher schon starten, wenn ja, wo? im moment sieht man es nämlich kurz, bevor es dann verschwindet...
Vielen Dank!
Gruß,
NinaNeu