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

De wiki Tim
Aucun résumé des modifications
Balise : Révoqué
(Page blanchie)
Balises : Blanchiment Révocation manuelle
 
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>

Dernière version du 6 avril 2024 à 18:11