Utilisateur:Dr Brains/CollapseSection.js
Apparence
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./*
Masquage/Affichage d'une section via un lien juste devant le titre de la section
*/
var CollapseSection_Show = "[+]";
var CollapseSection_Hide = "[-]";
$(CollapseSection_Init);
function CollapseSection_Init(){
var Content = document.getElementById("bodyContent");
if(!Content)Content = document.getElementById("article");
if(!Content)Content = document.getElementById("contentwrapper");
if(!Content) return;
for (var level = 1; level <= 6; ++level) {
var h = Content.getElementsByTagName("h" + level);
for (var i = 0; i < h.length; ++i) {
var ThisSection = h[i];
var GoodSectionTitle = false;
var Spans = ThisSection.getElementsByTagName('span');
for(var s=0;s<Spans.length;s++){
if( $(Spans[s]).hasClass("mw-headline")) GoodSectionTitle = true;
}
if(!GoodSectionTitle) continue;
var Separator = document.createTextNode(" ");
var Link = document.createElement("a");
Link.id = "CollapseSection_Link_" + level + "_" + i
Link.innerHTML = CollapseSection_Hide;
Link.href="javascript:CollapseSection_Toggle(\'CollapseSection_Link_" + level + "_" + i +"\');";
ThisSection.insertBefore(Separator, ThisSection.firstChild );
ThisSection.insertBefore(Link, ThisSection.firstChild);
}
}
}
function CollapseSection_Toggle(ID){
var Link = document.getElementById(ID);
var H = Link.parentNode;
var Tag = H.tagName.toLowerCase();
var Next = H.nextSibling;
while(Next){
if(Next.tagName){
if(Next.tagName.toLowerCase() == Tag) break;
if($(Next).hasClass("printfooter")) break;
if(Next.tagName.toLowerCase() != "script"){
if(Link.innerHTML == CollapseSection_Hide){
Next.style.display = "none";
}else{
Next.style.display = "block";
}
}
}
Next = Next.nextSibling;
}
if(Link.innerHTML ==CollapseSection_Hide){
Link.innerHTML = CollapseSection_Show;
}else{
Link.innerHTML = CollapseSection_Hide;
}
}