MediaWiki:Gadget-CadreOnglets.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) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./*
* Fonctionnement du [[Modèle:Cadre à onglets]]
*
* Modèle implanté par User:Peleguer de https://ca.wikipedia.org
* Actualisé par User:Joanjoc de https://ca.wikipedia.org
* Traduction et adaptation User:Antaya de https://fr.wikipedia.org
* Indépendance de classes CSS et nettoyage par User:Nemoi de https://fr.wikipedia.org
*/
/* globals $ */
/* exported CadreOnglets_Init */
(function () {
function VoirOnglet(e) {
e.preventDefault();
var match = /^(classeur\d+)onglet(\d+)$/.exec(this.id);
var nomClasseur = match[1];
var indexOnglet = parseInt(match[2]);
var Classeur = $('#' + nomClasseur);
var PremierBoutonNonSel = Classeur.find('.ongletBoutonNonSel')[0];
var rule1 = PremierBoutonNonSel.style.backgroundColor;
var rule2 = PremierBoutonNonSel.style.borderColor; // $('.ongletBoutonNonSel').css("border-color"); ne fonctionne pas car c'est un shorthand, qui n'est pas supporté par jQuery
var Onglets = Classeur.children("div").eq(0).children("div");
for ( var j = 0; j < Onglets.length; j++) {
var Onglet = Onglets[j];
var Feuillet = document.getElementById(nomClasseur + "feuillet" + j);
if (Feuillet && indexOnglet === j) {
Feuillet.style.display = "block";
Feuillet.style.visibility = "visible";
Onglet.classList.remove("ongletBoutonNonSel");
Onglet.classList.add("ongletBoutonSel");
Onglet.style.cursor="default";
Onglet.style.backgroundColor="inherit";
Onglet.style.borderTopColor="inherit"; // propriété par propriété sinon Chrome/Chromium se loupe
Onglet.style.borderRightColor="inherit";
Onglet.style.borderBottomColor="inherit";
Onglet.style.borderLeftColor="inherit";
} else {
Feuillet.style.display = "none";
Feuillet.style.visibility = "hidden";
Onglet.classList.remove("ongletBoutonSel");
Onglet.classList.add("ongletBoutonNonSel");
Onglet.style.cursor="pointer";
Onglet.style.backgroundColor=rule1;
Onglet.style.borderColor=rule2;
}
}
}
function Init($content) {
var i, j, Onglet, Feuillet;
var Classeurs = $content.find('.cadre_a_onglets');
for ( i = 0; i < Classeurs.length; i++ ) {
var Classeur = Classeurs[i];
Classeur.id = "classeur" + i;
var vOgIni = -1; // pour connaître l’onglet renseigné
var Onglets = $(Classeur).children("div").eq(0).children("div");
var Feuillets = $(Classeur).children("div").eq(1).children("div");
for ( j = 0; j < Onglets.length; j++ ) {
Onglet = Onglets[j];
Feuillet = Feuillets[j];
Onglet.id = "classeur" + i + "onglet" + j;
Feuillet.id = "classeur" + i + "feuillet" + j;
Onglet.onclick = VoirOnglet;
if ( Onglet.classList.contains( 'ongletBoutonSel' ) ) {
vOgIni=j;
}
}
// inutile sauf dans le cas où l’onglet de départ est *mal* renseigné
if (vOgIni === -1) {
vOgIni = Math.floor((Onglets.length)*Math.random());
document.getElementById("classeur"+i+"feuillet"+vOgIni).style.display = "block";
document.getElementById("classeur"+i+"feuillet"+vOgIni).style.visibility = "visible";
var vBtElem = document.getElementById("classeur"+i+"onglet"+vOgIni);
Onglet.classList.remove("ongletBoutonNonSel");
Onglet.classList.add("ongletBoutonSel");
vBtElem.style.cursor="default";
vBtElem.style.backgroundColor="inherit";
vBtElem.style.borderTopColor="inherit"; // propriété par propriété sinon Chrome/Chromium se loupe
vBtElem.style.borderRightColor="inherit";
vBtElem.style.borderBottomColor="inherit";
vBtElem.style.borderLeftColor="inherit";
}
}
}
// point d'accès à la fonction d'initialisation, utilisé par [[MediaWiki:Common.js]]
window.CadreOnglets_Init = Init;
})();