« MediaWiki:Common.js » : différence entre les versions
De Encyclopédie-de-L'AFN_1830-1962
m Page blanchie |
mAucun résumé des modifications |
||
| (19 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
/* Cette fonction ajoute un "onclick" sur chaque titre, qui lancera un appel à toogleTitle() lors d'un clic sur ceux ci */ | |||
/* | |||
function ImplementToogleOnclick() { | |||
for( var titleLevel = 1 ; titleLevel < 7 ; titleLevel++) { | |||
var titleList = document.getElementsByTagName('h' + titleLevel) | |||
var nb = titleList.length | |||
for( var b = 0 ; b < nb ; b++) { | |||
titleList[b].setAttribute('onclick', "toogleTitle(this)"); | |||
} | |||
} | |||
} | |||
addOnloadHook(ImplementToogleOnclick) | |||
*/ | |||
/* Cette fonction, quand invoquée, fait disparaitre ou réaparaitre le contenu placé sous un titre jusqu'au prochain titre de niveau egal ou supérieur | |||
(= un h3 s'arrete au prochain h2 ou h3 mais continuera s'il rencontre un h4 ou h5) */ | |||
/* | |||
function toogleTitle(p_this) { | |||
var p_niveau = p_this.nodeName.substring(1,2) //le 1 de h1 (ou 2 de h2, etc.) | |||
//construction de l'expression reguliere permettant le trouver le prochain titre de niveau égal ou supérieur | |||
var stopMatch = "(h1" | |||
for(var a = 2 ; a <= p_niveau ; a++) { | |||
stopMatch += "|h"+a | |||
} | |||
stopMatch += ")" | |||
reg = new RegExp(stopMatch, "i" ) | |||
//on ajoute une classe (neko_toogle_cache) au titre pour savoir s'il est en mode replié | |||
if( p_this.className != "neko_toogle_cache") { //il faut replier | |||
p_this.className = "neko_toogle_cache" | |||
var display_to_put = "none" | |||
} else { //il faut faire déplier | |||
p_this.className = "" | |||
var display_to_put = "block" | |||
} | |||
var nextSiblingNode = p_this.nextSibling | |||
while( nextSiblingNode ) { | |||
if( nextSiblingNode.nodeName.match(reg) ) break; //on a atteint le titre "bloquant" suivant = stop | |||
if( nextSiblingNode.style) { //certains nodes sont des nodes texte et n'ont pas de style. | |||
nextSiblingNode.style.display = display_to_put | |||
if( nextSiblingNode.className = "neko_toogle_cache") nextSiblingNode.className = "" // x | |||
} | |||
nextSiblingNode = nextSiblingNode.nextSibling //on passe au voisin suivant | |||
} | |||
} | |||
*/ | |||
// Ouvrir certains liens de la sidebar en petite fenêtre | |||
$(document).ready(function() { | |||
// Change "popup-small" par le nom que tu veux | |||
$('a[href*="popup-small"]').on('click', function(e) { | |||
e.preventDefault(); | |||
var url = $(this).attr('href'); | |||
var width = 650; | |||
var height = 550; | |||
var left = (screen.width - width) / 2; | |||
var top = (screen.height - height) / 2; | |||
window.open( | |||
url, | |||
'fenetre_popup', | |||
'width=' + width + | |||
',height=' + height + | |||
',top=' + top + | |||
',left=' + left + | |||
',resizable=yes,scrollbars=yes,toolbar=no,menubar=no,status=no,directories=no' | |||
); | |||
}); | |||
}); | |||
Dernière version du 9 mai 2026 à 20:38
/* Cette fonction ajoute un "onclick" sur chaque titre, qui lancera un appel à toogleTitle() lors d'un clic sur ceux ci */
/*
function ImplementToogleOnclick() {
for( var titleLevel = 1 ; titleLevel < 7 ; titleLevel++) {
var titleList = document.getElementsByTagName('h' + titleLevel)
var nb = titleList.length
for( var b = 0 ; b < nb ; b++) {
titleList[b].setAttribute('onclick', "toogleTitle(this)");
}
}
}
addOnloadHook(ImplementToogleOnclick)
*/
/* Cette fonction, quand invoquée, fait disparaitre ou réaparaitre le contenu placé sous un titre jusqu'au prochain titre de niveau egal ou supérieur
(= un h3 s'arrete au prochain h2 ou h3 mais continuera s'il rencontre un h4 ou h5) */
/*
function toogleTitle(p_this) {
var p_niveau = p_this.nodeName.substring(1,2) //le 1 de h1 (ou 2 de h2, etc.)
//construction de l'expression reguliere permettant le trouver le prochain titre de niveau égal ou supérieur
var stopMatch = "(h1"
for(var a = 2 ; a <= p_niveau ; a++) {
stopMatch += "|h"+a
}
stopMatch += ")"
reg = new RegExp(stopMatch, "i" )
//on ajoute une classe (neko_toogle_cache) au titre pour savoir s'il est en mode replié
if( p_this.className != "neko_toogle_cache") { //il faut replier
p_this.className = "neko_toogle_cache"
var display_to_put = "none"
} else { //il faut faire déplier
p_this.className = ""
var display_to_put = "block"
}
var nextSiblingNode = p_this.nextSibling
while( nextSiblingNode ) {
if( nextSiblingNode.nodeName.match(reg) ) break; //on a atteint le titre "bloquant" suivant = stop
if( nextSiblingNode.style) { //certains nodes sont des nodes texte et n'ont pas de style.
nextSiblingNode.style.display = display_to_put
if( nextSiblingNode.className = "neko_toogle_cache") nextSiblingNode.className = "" // x
}
nextSiblingNode = nextSiblingNode.nextSibling //on passe au voisin suivant
}
}
*/
// Ouvrir certains liens de la sidebar en petite fenêtre
$(document).ready(function() {
// Change "popup-small" par le nom que tu veux
$('a[href*="popup-small"]').on('click', function(e) {
e.preventDefault();
var url = $(this).attr('href');
var width = 650;
var height = 550;
var left = (screen.width - width) / 2;
var top = (screen.height - height) / 2;
window.open(
url,
'fenetre_popup',
'width=' + width +
',height=' + height +
',top=' + top +
',left=' + left +
',resizable=yes,scrollbars=yes,toolbar=no,menubar=no,status=no,directories=no'
);
});
});