MediaWiki:Modele.js
Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
- Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
- Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
- Opera : appuyez sur Ctrl + F5.
// ============================================================
// BEGIN Boîtes déroulantes
// set up the words in your language
var NavigationBarHide = '▲ Masquer';
var NavigationBarShow = '▼ Afficher';
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;
function toggleNavigationBar(indexNavigationBar){
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) return false;
if (NavToggle.firstChild.data == NavigationBarHide) {
for (var NavChild = NavFrame.firstChild;NavChild != null;NavChild = NavChild.nextSibling) {
if (NavChild.className == 'NavPic') NavChild.style.display = 'none';
if (NavChild.className == 'NavContent') NavChild.style.display = 'none';
if (NavChild.className == 'NavToggle') NavChild.firstChild.data = NavigationBarShow;
}
} else if (NavToggle.firstChild.data == NavigationBarShow) {
for (var NavChild = NavFrame.firstChild;NavChild != null;NavChild = NavChild.nextSibling) {
if (NavChild.className == 'NavPic') NavChild.style.display = 'block';
if (NavChild.className == 'NavContent') NavChild.style.display = 'block';
if (NavChild.className == 'NavToggle') NavChild.firstChild.data = NavigationBarHide;
}
}
}
function createNavigationBarToggleButton(){
var indexNavigationBar = 0;
var AllDivs = document.getElementsByTagName("div");
for(var i=0,l=AllDivs.length;i<l;i++) {
if (hasClass(AllDivs[i], "NavFrame")) {
var NavFrame = AllDivs[i];
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
var NavToggleText = document.createTextNode(NavigationBarHide);
NavToggle.appendChild(NavToggleText);
NavFrame.insertBefore( NavToggle, NavFrame.firstChild);
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
if (NavigationBarShowDefault < indexNavigationBar) {
for(var i=1;i<=indexNavigationBar;i++) {
toggleNavigationBar(i);
}
}
}
aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton;
// END Boîtes déroulantes
// ============================================================
// ============================================================
// BEGIN Compte à rebours
/* Permet d'afficher un compte à rebours sur une page avec le modèle [[Modèle:Compte à rebours]] */
/* Plyd - 3 février 2009 */
function Rebours() {
if(wgNamespaceNumber==0) return;
try {
var Comptes = getElementsByClassName(document, "span", "rebours");
if(!Comptes[0]) return;
for(var a=0,l=Comptes.length;a<l;a++) {
destime = Comptes[a].title.HTMLize().split(";;");
Maintenant = (new Date).getTime();
Future = new Date(Date.UTC(destime[0], (destime[1]-1), destime[2], destime[3], destime[4], destime[5])).getTime();
Diff = (Future-Maintenant);
if (Diff < 0) {Diff = 0}
TempsRestantJ = Math.floor(Diff/(24*3600*1000));
TempsRestantH = Math.floor(Diff/(3600*1000)) % 24;
TempsRestantM = Math.floor(Diff/(60*1000)) % 60;
TempsRestantS = Math.floor(Diff/1000) % 60;
TempsRestant = "" + destime[6] + " ";
if (TempsRestantJ == 1) {
TempsRestant = TempsRestant + TempsRestantJ + " jour ";
} else if (TempsRestantJ > 1) {
TempsRestant = TempsRestant + TempsRestantJ + " jours ";
}
TempsRestant = TempsRestant + TempsRestantH + " h " + TempsRestantM + " min " + TempsRestantS + " s";
Comptes[a].innerHTML = TempsRestant;
}
setTimeout("Rebours()", 1000)
} catch (e) {}
}
addOnloadHook(Rebours);
// END Compte à rebours
// ============================================================
// ============================================================
// BEGIN Images
// Permet d'afficher un diaporama d'images avec le modèle [[Modèle:Images]]
function toggleImage(group, remindex, shwindex) {
document.getElementById("ImageGroupsGr"+group+"Im"+remindex).style.display="none";
document.getElementById("ImageGroupsGr"+group+"Im"+shwindex).style.display="inline";
}
function imageGroup(bc){
if (document.URL.match(/printable/g)) return;
if(!bc){
var bc=document.getElementById("bodyContent");
if( !bc ) bc = document.getElementById("mw_contentholder");
if( !bc ) bc = document.getElementById("article");
if( !bc ) return;
}
var divs=bc.getElementsByTagName("div");
var i = 0, j = 0;
var units, search;
var currentimage;
var UnitNode;
for (i = 0; i < divs.length ; i++) {
if (divs[i].className != "ImageGroup") continue;
UnitNode=undefined;
search=divs[i].getElementsByTagName("div");
for (j = 0; j < search.length ; j++) {
if (search[j].className != "ImageGroupUnits") continue;
UnitNode=search[j];
break;
}
if (UnitNode==undefined) continue;
units=Array();
for (j = 0 ; j < UnitNode.childNodes.length ; j++ ) {
var temp = UnitNode.childNodes[j];
if (temp.className=="center") units.push(temp);
}
for (j = 0 ; j < units.length ; j++) {
currentimage=units[j];
currentimage.id="ImageGroupsGr"+i+"Im"+j;
var imghead = document.createElement("div");
var leftlink;
var rightlink;
if (j != 0) {
leftlink = document.createElement("a");
leftlink.href = "javascript:toggleImage("+i+","+j+","+(j-1)+");";
leftlink.innerHTML="◀";
leftlink.title="Image précédente";
} else {
leftlink = document.createElement("span");
leftlink.innerHTML=" ";
}
if (j != units.length - 1) {
rightlink = document.createElement("a");
rightlink.href = "javascript:toggleImage("+i+","+j+","+(j+1)+");";
rightlink.innerHTML="▶";
rightlink.title="Image suivante";
} else {
rightlink = document.createElement("span");
rightlink.innerHTML=" ";
}
var comment = document.createElement("tt");
comment.innerHTML = "("+ (j+1) + "/" + units.length + ")";
with(imghead) {
style.fontSize="110%";
style.fontweight="bold";
appendChild(leftlink);
appendChild(comment);
appendChild(rightlink);
}
currentimage.insertBefore(imghead,currentimage.childNodes[0]);
if (j != 0) currentimage.style.display="none";
}
}
}
addOnloadHook(imageGroup);
// END Images
// ============================================================
// ============================================================
// BEGIN Texte défilant
// Permet d'afficher un texte défilant avec le modèle [[Modèle:Texte défilant]]
var defilant_vars = new Array();
defilant_vars["span"] = new Array();
defilant_vars["texte"] = new Array();
defilant_vars["texteDef"] = new Array();
defilant_vars["Largeur"] = new Array();
defilant_vars["Tempo"] = new Array();
function defilant_init(){
var Defilants = getElementsByClassName(document, "span", "defilant");
if(!Defilants[0]) return;
for(var a=0,l=Defilants.length;a<l;a++){
Defilants[a].id = "Defilant_"+a;
var Spans = Defilants[a].getElementsByTagName('span');
var texte = getTextContent(Spans[0]).replace(/ /g, " ");
var texteDef = getTextContent(Spans[1]).replace(/ /g, " ");
var Tempo = parseInt(Spans[0].title.split(';;')[0]);
if(typeof(Tempo)!="number") Tempo = 150;
var Largeur = parseInt(Spans[0].title.split(';;')[1]);
if(typeof(Largeur)!="number") Largeur = 20;
while(texteDef.length < Largeur){
texteDef += texte;
}
defilant_vars["span"][a] = Spans[1];
defilant_vars["texte"][a] = texte;
defilant_vars["texteDef"][a] = texteDef;
defilant_vars["Largeur"][a] = Largeur;
defilant_vars["Tempo"][a] = Tempo;
Spans[1].innerHTML = texteDef;
defilant(a);
}
}
addOnloadHook(defilant_init);
function defilant(a){
defilant_vars["texteDef"][a] = defilant_vars["texteDef"][a].substring(1,defilant_vars["texteDef"][a].length) + defilant_vars["texteDef"][a].substring(0,1);
defilant_vars["span"][a].innerHTML = defilant_vars["texteDef"][a];
setTimeout("defilant("+a+")", defilant_vars["Tempo"][a]);
}
// END Texte défilant
// ============================================================