Aller au contenu

Lancement du concept et site Wiki Tim, si le site vous plait partagez-le à votre entourage pour qu'ils puissent en profiter eux aussi!

« MediaWiki:Mobile.js » : différence entre les versions

4 101 octets ajoutés ,  6 avril 2024
aucun résumé des modifications
(Page blanchie)
Balises : Blanchiment Révocation manuelle
Aucun résumé des modifications
Balise : Révoqué
Ligne 1 : Ligne 1 :
/* Le Javascript placé ici n’affectera que les utilisateurs du site mobile */
/* Préface aux éditeurs :
La documentation de cette page en [[JavaScript]] peut être lue
facilement en l’incluant comme un modèle depuis une page wiki.


Merci de faire de votre mieux pour respecter cette contrainte,
par l’utilisation de balises adaptées et de texte commenté, en
JavaScript et en Wikitexte.
== Boîtes déroulantes ==
<!-- */
// --><syntaxhighlight lang="javascript">
// set up the words in your language
var NavigationBarHide = '[masquer]';
var NavigationBarShow = '[afficher]';
var NavigationBarShowDefault = 0;
// shows and hides content and picture (if available) of navigation bars
// Parameters:
//    indexNavigationBar: the index of navigation bar to be toggled
var toggleNavigationBar = function(indexNavigationBar)
{
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
    if (!NavFrame || !NavToggle) {
        return false;
    }
    // ajout par Dake
    // permet de créer un titre en lieu et place du "Dérouler" grâce
    // à l'attribut "title" du tag.
    var ShowText;
    if (NavFrame.title == undefined || NavFrame.title.length == 0 ) {
        ShowText = NavigationBarShow;
    } else {
        ShowText = NavFrame.title;
    }
    // if shown now
    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 = ShowText;
            }
        }
    // if hidden now
    } else if (NavToggle.firstChild.data == ShowText) {
        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;
            }
        }
    }
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
    var indexNavigationBar = 0;
    // iterate over all < div >-elements
    for(
        var i=0;
        NavFrame = document.getElementsByTagName("div")[i];
        i++
    ) {
        // if found a navigation bar
        if (NavFrame.className == "NavFrame") {
            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('style', 'float:right;');
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
            var NavToggleText = document.createTextNode(NavigationBarHide);
            NavToggle.appendChild(NavToggleText);
            // add NavToggle-Button as first div-element
            // in < div class="NavFrame" >
            NavFrame.insertBefore(
                NavToggle,
                NavFrame.firstChild
            );
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
    // if more Navigation Bars found than Default: hide all
    if (NavigationBarShowDefault < indexNavigationBar) {
        for (
            var i=1;
            i<=indexNavigationBar;
            i++
        ) {
            toggleNavigationBar(i);
        }
    }
}
$(createNavigationBarToggleButton);
// fin de la section "Boîtes déroulantes"</syntaxhighlight>