Weitere Optionen
KKeine Bearbeitungszusammenfassung |
Spoiler-Vorlage erweitert: versteckte Abschnitte erscheinen erst im TOC, wenn sie über die Vorlage eingeblendet werden |
||
| Zeile 249: | Zeile 249: | ||
if (mw.SGWSpoiler.showAll) return; | if (mw.SGWSpoiler.showAll) return; | ||
$(obj).next(".spoiler").toggleClass("spoilerShow"); | $(obj).next(".spoiler").toggleClass("spoilerShow"); | ||
var headings = $(obj).next(".spoiler").find(':header > span'); | |||
if(headings.length){ | |||
headings.each(function(i, e){ | |||
spoilerHeadings.toggle(e.id); | |||
}); | |||
} | |||
}, | }, | ||
| Zeile 254: | Zeile 260: | ||
if (mw.SGWSpoiler.showAll) return; | if (mw.SGWSpoiler.showAll) return; | ||
$(obj).parent().parent().next("tr.spoiler").toggleClass("spoilerShow"); | $(obj).parent().parent().next("tr.spoiler").toggleClass("spoilerShow"); | ||
var headings = $(obj).parent().parent().next("tr.spoiler").find(':header > span'); | |||
if(headings.length){ | |||
headings.each(function(i, e){ | |||
spoilerHeadings.toggle(e.id); | |||
}); | |||
} | |||
}, | }, | ||
| Zeile 262: | Zeile 274: | ||
$("#ca-spoiler").addClass("selected"); | $("#ca-spoiler").addClass("selected"); | ||
if (obj) $(obj).removeClass("spoilerShow"); | if (obj) $(obj).removeClass("spoilerShow"); | ||
spoilerHeadings.showAll(); | |||
} | } | ||
else { | else { | ||
$(".spoiler").removeClass("spoilerShowAll"); | $(".spoiler").removeClass("spoilerShowAll"); | ||
$("#ca-spoiler").removeClass("selected"); | $("#ca-spoiler").removeClass("selected"); | ||
spoilerHeadings.hideAll(); | |||
} | } | ||
return false; | return false; | ||
| Zeile 623: | Zeile 637: | ||
+"</a></div></div>"); | +"</a></div></div>"); | ||
$('#FBButton').css('visibility', 'visible').animate({opacity: 1.0}, 400); | $('#FBButton').css('visibility', 'visible').animate({opacity: 1.0}, 400); | ||
//=========================================================================== | |||
//=========================================================================== | |||
// Versteckt Spoiler-Abschnitte im Inhaltsverzeichnis | |||
//--------------------------------------------------------------------------- | |||
spoilerHeadings = { | |||
headings: [], | |||
init: function(){ | |||
$('.spoiler :header > span').each(function(i, e){ | |||
spoilerHeadings.headings.push(e.id); | |||
}); | |||
spoilerHeadings.hideAll(); | |||
}, | |||
hideAll: function(){ | |||
spoilerHeadings.headings.forEach(function(val){ | |||
spoilerHeadings.hide(val); | |||
}); | |||
}, | |||
showAll: function(){ | |||
spoilerHeadings.headings.forEach(function(val){ | |||
spoilerHeadings.show(val); | |||
}); | |||
}, | |||
hide: function(id){ | |||
$("#toc li > a[href='#"+id+"']").parent('li').hide(); | |||
}, | |||
show: function(id){ | |||
$("#toc li > a[href='#"+id+"']").parent('li').show(); | |||
}, | |||
toggle: function(id){ | |||
$("#toc li > a[href='#"+id+"']").parent('li').toggle(); | |||
} | |||
} | |||
$( spoilerHeadings.init ); | |||
//=========================================================================== | //=========================================================================== | ||