Différences entre versions de « MediaWiki:Common.js »

De Wiki Dofus
Aller à la navigationAller à la recherche
m
m
Ligne 125 : Ligne 125 :
 
scriptElem.setAttribute( 'type' , 'text/javascript' );
 
scriptElem.setAttribute( 'type' , 'text/javascript' );
 
document.getElementsByTagName( 'head' )[0].appendChild( scriptElem );
 
document.getElementsByTagName( 'head' )[0].appendChild( scriptElem );
 +
 +
/*
 +
author: Rob Eberhardt
 +
desc: fix MinWidth for IE6 & IE7
 +
params: none
 +
returns: nothing
 +
notes: cannot yet fix childless elements like INPUT or SELECT
 +
history:
 +
  2006-11-20 revised for standards-mode compatibility
 +
  2006-11-17 first version
 +
*/
 +
function fixMinWidthForIE(){
 +
  try{
 +
      if(!document.body.currentStyle){return} //IE only
 +
  }catch(e){return}
 +
  var elems=document.getElementsByTagName("*");
 +
  for(e=0; e<elems.length; e++){
 +
      var eCurStyle = elems[e].currentStyle;
 +
      var l_minWidth = (eCurStyle.minWidth) ? eCurStyle.minWidth : eCurStyle.getAttribute("min-width"); //IE7 : IE6
 +
      if(l_minWidth && l_minWidth != 'auto'){
 +
        var shim = document.createElement("DIV");
 +
        shim.style.cssText = 'margin:0 !important; padding:0 !important; border:0 !important; line-height:0 !important; height:0 !important; BACKGROUND:RED;';
 +
        shim.style.width = l_minWidth;
 +
        shim.appendChild(document.createElement("&nbsp;"));
 +
        if(elems[e].canHaveChildren){
 +
            elems[e].appendChild(shim);
 +
        }else{
 +
            //??
 +
        }
 +
      }
 +
  }
 +
}
  
 
/*</pre>*/
 
/*</pre>*/

Version du 31 août 2009 à 09:27

/*<pre>*/
/* Any JavaScript here will be loaded for all users on every page load. */
//============================================================
//
// Boîtes déroulantes
//
//============================================================
 // BEGIN Dynamic Navigation Bars (experimantal)
 
 // set up the words in your language
 var NavigationBarHide = '[ Enrouler ]';
 var NavigationBarShow = '[ Dérouler ]';
 
 var NavigationBarShowDefault = 0;
 
 // shows and hides content and picture (if available) of navigation bars
 // Parameters:
 //     indexNavigationBar: the index of navigation bar to be toggled
 function toggleNavigationBar(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('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);
 
 // END Dynamic Navigation Bar

var scriptElem = document.createElement( 'script' );
scriptElem.setAttribute( 'src' , 'http://www.wiki-dofus.eu/w?title=MediaWiki:Sortables.js&action=raw&ctype=text/javascript&dontcountme=s' );
scriptElem.setAttribute( 'type' , 'text/javascript' );
document.getElementsByTagName( 'head' )[0].appendChild( scriptElem );

/* 
author: Rob Eberhardt
desc: fix MinWidth for IE6 & IE7
params: none
returns: nothing
notes: cannot yet fix childless elements like INPUT or SELECT
history:
   2006-11-20 revised for standards-mode compatibility
   2006-11-17 first version
*/
function fixMinWidthForIE(){
   try{
      if(!document.body.currentStyle){return} //IE only
   }catch(e){return}
   var elems=document.getElementsByTagName("*");
   for(e=0; e<elems.length; e++){
      var eCurStyle = elems[e].currentStyle;
      var l_minWidth = (eCurStyle.minWidth) ? eCurStyle.minWidth : eCurStyle.getAttribute("min-width"); //IE7 : IE6
      if(l_minWidth && l_minWidth != 'auto'){
         var shim = document.createElement("DIV");
         shim.style.cssText = 'margin:0 !important; padding:0 !important; border:0 !important; line-height:0 !important; height:0 !important; BACKGROUND:RED;';
         shim.style.width = l_minWidth;
         shim.appendChild(document.createElement("&nbsp;"));
         if(elems[e].canHaveChildren){
            elems[e].appendChild(shim);
         }else{
            //??
         }
      }
   }
}

/*</pre>*/