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

m
Page blanchie
m (Page créée avec « var NavigationBarHide = '[ Enrouler ]'; var NavigationBarShow = '[ Dérouler ]'; var NavigationBarShowDefault = 0; function toggleNavigationBar(indexNavigationBar) { ... »)
 
m (Page blanchie)
Ligne 1 : Ligne 1 :
var NavigationBarHide = '[ Enrouler ]';
var NavigationBarShow = '[ Dérouler ]';
var NavigationBarShowDefault = 0;


function toggleNavigationBar(indexNavigationBar)
{
  var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
  var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
  if (!NavFrame || !NavToggle) {
      return false;
  }
 
  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('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);
      }
  }
}
addOnloadHook(createNavigationBarToggleButton);
1 287

modifications