MediaWiki:Mobile.js

De wiki Tim

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.

/* 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

// 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"