MediaWiki:Common.js : Différence entre versions
| Ligne 1 : | Ligne 1 : | ||
| − | /** * Pour [[Modèle:Boîte déroulante]] */ var BoiteDeroulante_Enrouler = '[masquer]';var BoiteDeroulante_Derouler = '[afficher]';var BoiteDeroulante_max = 0;var BoiteDeroulante_index = -1; function BoiteDeroulante_toggle(indexBoiteDeroulante){ | + | |
| + | /** | ||
| + | * Pour [[Modèle:Boîte déroulante]] | ||
| + | */ | ||
| + | |||
| + | var BoiteDeroulante_Enrouler = '[masquer]'; | ||
| + | var BoiteDeroulante_Derouler = '[afficher]'; | ||
| + | var BoiteDeroulante_max = 0; | ||
| + | var BoiteDeroulante_index = -1; | ||
| + | |||
| + | function BoiteDeroulante_toggle(indexBoiteDeroulante){ | ||
| + | var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante); | ||
| + | var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante); | ||
| + | var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante); | ||
| + | if (!NavFrame || !NavToggle || !CaptionContainer) return; | ||
| + | var caption = new Array(); | ||
| + | var CaptionSpans = CaptionContainer.getElementsByTagName('span'); | ||
| + | caption[0] = CaptionSpans[0].innerHTML; | ||
| + | caption[1] = CaptionSpans[1].innerHTML; | ||
| + | |||
| + | var Contents = NavFrame.getElementsByTagName('div'); | ||
| + | if (NavToggle.innerHTML == caption[1]) { | ||
| + | NavToggle.innerHTML = caption[0]; | ||
| + | for(var a=0,m=Contents.length;a<m;a++){ | ||
| + | if(hasClass(Contents[a], "NavContent")){ | ||
| + | Contents[a].style.display = 'none'; | ||
| + | return; | ||
| + | } | ||
| + | } | ||
| + | }else{ | ||
| + | NavToggle.innerHTML = caption[1]; | ||
| + | for(var a=0,m=Contents.length;a<m;a++){ | ||
| + | if(hasClass(Contents[a], "NavContent")){ | ||
| + | Contents[a].style.display = 'block'; | ||
| + | return; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | function BoiteDeroulante(Element){ | ||
| + | if(!Element) Element = document; | ||
| + | var NavFrameCount = -1; | ||
| + | var NavFrames = Element.getElementsByTagName("div"); | ||
| + | for(var i=0,l=NavFrames.length;i<l;i++){ | ||
| + | if(hasClass(NavFrames[i], "NavFrame")){ | ||
| + | var NavFrame = NavFrames[i]; | ||
| + | NavFrameCount++; | ||
| + | BoiteDeroulante_index++; | ||
| + | |||
| + | if (NavFrame.title && NavFrame.title.indexOf("/")!=-1) { | ||
| + | var Enrouler = NavFrame.title.HTMLize().split("/")[1]; | ||
| + | var Derouler = NavFrame.title.HTMLize().split("/")[0]; | ||
| + | }else{ | ||
| + | var Enrouler = BoiteDeroulante_Enrouler; | ||
| + | var Derouler = BoiteDeroulante_Derouler; | ||
| + | } | ||
| + | NavFrame.title=''; | ||
| + | var CaptionContainer = document.createElement('span'); | ||
| + | CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index; | ||
| + | CaptionContainer.style.display = "none"; | ||
| + | CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>'; | ||
| + | NavFrame.appendChild(CaptionContainer); | ||
| + | |||
| + | var NavToggle = document.createElement("a"); | ||
| + | NavToggle.className = 'NavToggle'; | ||
| + | NavToggle.id = 'NavToggle' + BoiteDeroulante_index; | ||
| + | NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');'; | ||
| + | var NavToggleText = document.createTextNode(Enrouler); | ||
| + | NavToggle.appendChild(NavToggleText); | ||
| + | |||
| + | NavFrame.insertBefore( NavToggle, NavFrame.firstChild ); | ||
| + | NavFrame.id = 'NavFrame' + BoiteDeroulante_index; | ||
| + | if (BoiteDeroulante_max <= NavFrameCount) { | ||
| + | BoiteDeroulante_toggle(BoiteDeroulante_index); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | } | ||
| + | addOnloadHook(BoiteDeroulante); | ||
Version du 20 décembre 2012 à 11:15
/**
* Pour [[Modèle:Boîte déroulante]]
*/
var BoiteDeroulante_Enrouler = '[masquer]';
var BoiteDeroulante_Derouler = '[afficher]';
var BoiteDeroulante_max = 0;
var BoiteDeroulante_index = -1;
function BoiteDeroulante_toggle(indexBoiteDeroulante){
var NavFrame = document.getElementById("NavFrame" + indexBoiteDeroulante);
var NavToggle = document.getElementById("NavToggle" + indexBoiteDeroulante);
var CaptionContainer = document.getElementById("NavCaption" + indexBoiteDeroulante);
if (!NavFrame || !NavToggle || !CaptionContainer) return;
var caption = new Array();
var CaptionSpans = CaptionContainer.getElementsByTagName('span');
caption[0] = CaptionSpans[0].innerHTML;
caption[1] = CaptionSpans[1].innerHTML;
var Contents = NavFrame.getElementsByTagName('div');
if (NavToggle.innerHTML == caption[1]) {
NavToggle.innerHTML = caption[0];
for(var a=0,m=Contents.length;a<m;a++){
if(hasClass(Contents[a], "NavContent")){
Contents[a].style.display = 'none';
return;
}
}
}else{
NavToggle.innerHTML = caption[1];
for(var a=0,m=Contents.length;a<m;a++){
if(hasClass(Contents[a], "NavContent")){
Contents[a].style.display = 'block';
return;
}
}
}
}
function BoiteDeroulante(Element){
if(!Element) Element = document;
var NavFrameCount = -1;
var NavFrames = Element.getElementsByTagName("div");
for(var i=0,l=NavFrames.length;i<l;i++){
if(hasClass(NavFrames[i], "NavFrame")){
var NavFrame = NavFrames[i];
NavFrameCount++;
BoiteDeroulante_index++;
if (NavFrame.title && NavFrame.title.indexOf("/")!=-1) {
var Enrouler = NavFrame.title.HTMLize().split("/")[1];
var Derouler = NavFrame.title.HTMLize().split("/")[0];
}else{
var Enrouler = BoiteDeroulante_Enrouler;
var Derouler = BoiteDeroulante_Derouler;
}
NavFrame.title='';
var CaptionContainer = document.createElement('span');
CaptionContainer.id = 'NavCaption' + BoiteDeroulante_index;
CaptionContainer.style.display = "none";
CaptionContainer.innerHTML = '<span>' + Derouler + '</span><span>' + Enrouler + '</span>';
NavFrame.appendChild(CaptionContainer);
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.id = 'NavToggle' + BoiteDeroulante_index;
NavToggle.href = 'javascript:BoiteDeroulante_toggle(' + BoiteDeroulante_index + ');';
var NavToggleText = document.createTextNode(Enrouler);
NavToggle.appendChild(NavToggleText);
NavFrame.insertBefore( NavToggle, NavFrame.firstChild );
NavFrame.id = 'NavFrame' + BoiteDeroulante_index;
if (BoiteDeroulante_max <= NavFrameCount) {
BoiteDeroulante_toggle(BoiteDeroulante_index);
}
}
}
}
addOnloadHook(BoiteDeroulante);