<div class="spoiler"><div class="spoilerheader">
<a href="javascript:void(0)" onClick="n = this.parentNode.parentNode.lastChild; if(n.style.display == 'none') { n.style.display = 'block'; } else { n.style.display = 'none'; } return false;">Spoiler: "Details"</a>
(click to show/hide)
</div>
<div class="spoilerbody" style="display: none">Dies ist die Spoiler-Funktion: Text ein- und ausblenden per Klick.</div></div>
Und wie müsste man einen Link gestalten, dass man mit ihm alle Spoiler einer bestimmten Klasse auf "angezeigt" bzw. "versteckt" setzen kann?so z. B.
<script type="text/javascript">
function showAll(){
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
if(divs[i].className == 'spoilerbody'){
divs[i].style.display = 'block'
}
}
}
function hideAll(){
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
if(divs[i].className == 'spoilerbody'){
divs[i].style.display = 'none'
}
}
}
</script>
<a href="javascript:void(0)" onClick="showAll()">Alle Einblenden</a><br>
<a href="javascript:void(0)" onClick="hideAll()">Alle Ausblenden</a>
<div class="spoiler"><div class="spoilerheader">
<a href="javascript:void(0)" onClick="n = this.parentNode.parentNode.lastChild; if(n.style.display == 'none') { n.style.display = 'block'; } else { n.style.display = 'none'; } return false;">Spoiler: "Details"</a>
(click to show/hide)
</div>
<div class="spoilerbody" style="display: none">Dies ist die Spoiler-Funktion: Text ein- und ausblenden per Klick.</div></div>
<div class="spoiler"><div class="spoilerheader">
<a href="javascript:void(0)" onClick="n = this.parentNode.parentNode.lastChild; if(n.style.display == 'none') { n.style.display = 'block'; } else { n.style.display = 'none'; } return false;">Spoiler: "Details"</a>
(click to show/hide)
</div>
<div class="spoilerbody" style="display: none">Dies ist die Spoiler-Funktion: Text ein- und ausblenden per Klick.</div></div>
<div class="spoiler"><div class="spoilerheader">
<a href="javascript:void(0)" onClick="n = this.parentNode.parentNode.lastChild; if(n.style.display == 'none') { n.style.display = 'block'; } else { n.style.display = 'none'; } return false;">Spoiler: "Details"</a>
(click to show/hide)
</div>
<div class="spoilerbody" style="display: none">Dies ist die Spoiler-Funktion: Text ein- und ausblenden per Klick.</div></div>
<div class="spoiler"><div class="spoilerheader">
<a href="javascript:void(0)" onClick="n = this.parentNode.parentNode.lastChild; if(n.style.display == 'none') { n.style.display = 'block'; } else { n.style.display = 'none'; } return false;">Spoiler: "Details"</a>
(click to show/hide)
</div>
<div class="spoilerbody" style="display: none">Dies ist die Spoiler-Funktion: Text ein- und ausblenden per Klick.</div></div>
<script type="text/javascript">
function showAll(){
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
if(divs[i].className == 'meisterinfo' || divs[i].className == 'optionalregel'){
divs[i].style.display = 'block'
}
}
}
function hideAll(){
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
if(divs[i].className == 'meisterinfo' || divs[i].className == 'optionalregel'){
divs[i].style.display = 'none'
}
}
}
function showAllOptionalregel(){
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
if(divs[i].className == 'optionalregel'){
divs[i].style.display = 'block'
}
}
}
function hideAllOptionalregel(){
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
if(divs[i].className == 'optionalregel'){
divs[i].style.display = 'none'
}
}
}
function showAllMeisterinfo(){
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
if(divs[i].className == 'meisterinfo'){
divs[i].style.display = 'block'
}
}
}
function hideAllMeisterinfo(){
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
if(divs[i].className == 'meisterinfo'){
divs[i].style.display = 'none'
}
}
}
</script>
<a href="javascript:void(0)" onClick="showAll()">Alle Einblenden</a><br>
<br>
<a href="javascript:void(0)" onClick="hideAll()">Alle Ausblenden</a><br>
<br>
<a href="javascript:void(0)" onClick="showAllOptionalregel()">Alle Optionalregeln Einblenden</a><br>
<br>
<a href="javascript:void(0)" onClick="hideAllOptionalregel()">Alle Optionalregeln Ausblenden</a><br>
<br>
<a href="javascript:void(0)" onClick="showAllMeisterinfo()">Alle Meisterinformationen Einblenden</a><br>
<br>
<a href="javascript:void(0)" onClick="hideAllMeisterinfo()">Alle Meisterinformationen Ausblenden</a><br>
<br>
<div class="spoiler"><div class="spoilerheader">
<a href="javascript:void(0)" onClick="n = this.parentNode.parentNode.lastChild; if(n.style.display == 'none') { n.style.display = 'block'; } else { n.style.display = 'none'; } return false;">Optionalregel: " Kampf "</a>
(Zum Ein-/Ausblenden klicken.)
</div>
<div class="optionalregel" style="display: none">Dies ist die Spoiler-Funktion: Text ein- und ausblenden per Klick.</div></div>
<div class="spoiler"><div class="spoilerheader">
<a href="javascript:void(0)" onClick="n = this.parentNode.parentNode.lastChild; if(n.style.display == 'none') { n.style.display = 'block'; } else { n.style.display = 'none'; } return false;">Optionalregel: " Magie "</a>
(click to show/hide)
</div>
<div class="optionalregel" style="display: none">Dies ist die Spoiler-Funktion: Text ein- und ausblenden per Klick.</div></div>
<div class="spoiler"><div class="spoilerheader">
<a href="javascript:void(0)" onClick="n = this.parentNode.parentNode.lastChild; if(n.style.display == 'none') { n.style.display = 'block'; } else { n.style.display = 'none'; } return false;">Meisterinformation: " Norden "</a>
(click to show/hide)
</div>
<div class="meisterinfo" style="display: none">Dies ist die Spoiler-Funktion: Text ein- und ausblenden per Klick.</div></div>
<div class="spoiler"><div class="spoilerheader">
<a href="javascript:void(0)" onClick="n = this.parentNode.parentNode.lastChild; if(n.style.display == 'none') { n.style.display = 'block'; } else { n.style.display = 'none'; } return false;">Meisterinformation: " Süden "</a>
(click to show/hide)
</div>
<div class="meisterinfo" style="display: none">Dies ist die Spoiler-Funktion: Text ein- und ausblenden per Klick.</div></div>
Die Spoiler müssen dann aber alle in der gleichen Datei liegen, oder? Wäre es ohne Änderung zumindest möglich, per Frame oder PHP eine weitere Datei einzubinden, auf die das Ein-/Ausblenden auch wirkt?Nein, so ohne weiteres ginge das nicht. Um diesen Effekt zu erreichen müsstest Du serverseitig auch was machen. Es böte sich an, dafür einen cookie zu setzen und dann nachfolgende Seiten gleich passend zu initialisisieren.
Wäre danach nur noch die Frage offen, ob es einen HTML-Editor gibt, bei dem man diese Funktion auf einen Button legen kann, so dass der komplette Code für einen Spoiler per Button eingefügt wird. Aber das wäre nur noch das Sahnehäubchen.Sowas gibt es sicherlich, ich kenne mich aber mit html-Editoren nicht aus. Vielleicht solltest Du dafür einfach ein neues Thema aufmachen?