MediaWiki:Modeles.js
Jump to navigation
Jump to search
Note : après avoir enregistré tes préférences, tu devras forcer son rechargement complet en ignorant le contenu actuel du cache de ton explorateur pour voir les changements : Mozilla / Firefox / Konqueror / Safari : maintiens la touche Majuscule (Shift) en cliquant le bouton Actualiser (Reload,) ou presse Maj-Ctrl-R (Maj-Cmd-R sur Apple Mac) ; Internet Explorer / Opera : maintiens la touche Ctrl en cliquant le bouton Actualiser ou presse Ctrl-F5.
function getElementsByClassName(oElm, strTagName, oClassNames){
var arrReturnElements = new Array();
if ( typeof( oElm.getElementsByClassName ) == "function" ) {
/* Use a native implementation where possible FF3, Saf3.2, Opera 9.5 */
var arrNativeReturn = oElm.getElementsByClassName( oClassNames );
if ( strTagName == "*" )
return arrNativeReturn;
for ( var h=0; h < arrNativeReturn.length; h++ ) {
if( arrNativeReturn[h].tagName.toLowerCase() == strTagName.toLowerCase() )
arrReturnElements[arrReturnElements.length] = arrNativeReturn[h];
}
return arrReturnElements;
}
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrRegExpClassNames = new Array();
if(typeof oClassNames == "object"){
for(var i=0; i<oClassNames.length; i++){
arrRegExpClassNames[arrRegExpClassNames.length] =
new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)");
}
}
else{
arrRegExpClassNames[arrRegExpClassNames.length] =
new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)");
}
var oElement;
var bMatchesAll;
for(var j=0; j<arrElements.length; j++){
oElement = arrElements[j];
bMatchesAll = true;
for(var k=0; k<arrRegExpClassNames.length; k++){
if(!arrRegExpClassNames[k].test(oElement.className)){
bMatchesAll = false;
break;
}
}
if(bMatchesAll){
arrReturnElements[arrReturnElements.length] = oElement;
}
}
return (arrReturnElements)
}
//============================================================
// 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(mw.config.get('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);
jQuery( function( ) {
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);
jQuery( function( ) {
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);
jQuery( function( ) {
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
// ============================================================
Ce que tu peux faire
Outils

Outils personnels