MediaWiki:Common.js: Difference between revisions

no edit summary
mNo edit summary
No edit summary
Line 6: Line 6:
  })();
  })();
/*
/*
$(function(){
addOnloadHook(function(){
     $('div.tabdiv > ul > li').click(function(){
     $('div.tabdiv > ul > li').click(function(){
         var list_parent = $(this).parent();
         $(this).parent().parent().children('div').hide();
        var root = $(list_parent).parent();
         $((this).children('a:first').attr('href')).show();
        var target = root.children('div:eq(' + list_parent.index(this) + ')');
         $(this).parent().children('li').removeClass('active').addClass('inactive');
 
         $(this).removeClass('inactive').addClass('active');
         list_parent.children('li.active').removeClass('active');
         root.children('div.active').removeClass('active');
 
        $(target).addClass('active');
         $(this).addClass('active');
     });
     });
     $('div.tabdiv > ul > li > a:first').each(function(){
     $('div.tabdiv > ul > li > a:first').each(function(){
Line 22: Line 17:
     });
     });
});
});
/*
*/
$(function($) {
addOnloadHook(function($) {
return function() {
return function() {
$('.tabdiv > div').hide();
$('.tabdiv > div').hide();
Line 48: Line 44:
}
}
}(jQuery));
}(jQuery));
 
/****************************** Slides JS ******************************/
/****************************** Slides JS ******************************/
$(function(){
addOnloadHook(function(){
     $('.slidediv').each(function(){
     $('.slidediv').each(function(){
         var width = $(this).width();
         var width = $(this).width();
Line 61: Line 57:
     });
     });
});
});
 
/** Collapsible tables code *****************************************************
/** Collapsible tables code *****************************************************
  *  Description: Allows tables to be collapsed, showing only the header
  *  Description: Allows tables to be collapsed, showing only the header
Line 67: Line 63:
  *  Added: 24 September 2007
  *  Added: 24 September 2007
  */
  */
 
/* Add a hook to make buttons, where need be, on every pageload */
/* Add a hook to make buttons, where need be, on every pageload */
$( createTableButtons );
addOnloadHook( createTableButtons );
 
/* Define global variables:
/* Define global variables:
  * autoShrink is the number of tables that must exist on the page for usage of "class=collapsible autocollapse"
  * autoShrink is the number of tables that must exist on the page for usage of "class=collapsible autocollapse"
  * minimizeSymbol can be either a symbol such as a minus sign or a word such as hide or disappear
  * minimizeSymbol can be either a symbol such as a minus sign or a word such as hide or disappear
  * maximizeSymbol can be either a symbol such as a plus sign or a word such as show or appear */
  * maximizeSymbol can be either a symbol such as a plus sign or a word such as show or appear */
 
var autoShrink = 2;
var autoShrink = 2;
var minimizeSymbol = "hide";
var minimizeSymbol = "hide";
var maximizeSymbol = "show";
var maximizeSymbol = "show";
 
/* Define functions that do-the-work */
/* Define functions that do-the-work */
/* Function toggleTableView() toggles a specified table's view from minimized to maximized, or vice versa */  
/* Function toggleTableView() toggles a specified table's view from minimized to maximized, or vice versa */  
Line 89: Line 85:
       return false;
       return false;
     }
     }
 
     var Button = document.getElementById( "collapseButton" + tableIndex );
     var Button = document.getElementById( "collapseButton" + tableIndex );
     /* If no collapsible buttons, no need to do any shrinking */
     /* If no collapsible buttons, no need to do any shrinking */
Line 95: Line 91:
         return false;
         return false;
     }
     }
 
     /* Grab the rows of the specified table */
     /* Grab the rows of the specified table */
     var Rows = Table.getElementsByTagName( "tr" );  
     var Rows = Table.getElementsByTagName( "tr" );  
 
     /* Do the hiding/unhiding */
     /* Do the hiding/unhiding */
     if ( Button.firstChild.data == minimizeSymbol || tableShrink == 1 ) {
     if ( Button.firstChild.data == minimizeSymbol || tableShrink == 1 ) {
Line 128: Line 124:
     }
     }
}
}
 
/* Funtion createTableButtons() creates the plus or minus symbol and alignment text
/* Funtion createTableButtons() creates the plus or minus symbol and alignment text
  * to be applied on collapsible tables */
  * to be applied on collapsible tables */
Line 137: Line 133:
     var NavBoxes = new Object();
     var NavBoxes = new Object();
     var Tables = document.getElementsByTagName( "table" );
     var Tables = document.getElementsByTagName( "table" );
 
     /* Use two count variables to handle cases where continue is used */
     /* Use two count variables to handle cases where continue is used */
     var loopcount = 0;
     var loopcount = 0;
Line 147: Line 143:
         loopcount++;
         loopcount++;
         if ( usesClass( Tables[count], "collapsible" ) ) {
         if ( usesClass( Tables[count], "collapsible" ) ) {
 
             /* Proceed only if a header row and header exist */
             /* Proceed only if a header row and header exist */
             var HeaderRow = Tables[count].getElementsByTagName( "tr" )[0];
             var HeaderRow = Tables[count].getElementsByTagName( "tr" )[0];
Line 153: Line 149:
             var Header = HeaderRow.getElementsByTagName( "th" )[0];
             var Header = HeaderRow.getElementsByTagName( "th" )[0];
             if (!Header) continue;
             if (!Header) continue;
 
             /* Log where you are in the looping */
             /* Log where you are in the looping */
             NavBoxes[ tableIndex ] = Tables[count];
             NavBoxes[ tableIndex ] = Tables[count];
 
             /* Set the identifier of the table being edited in this iteration */
             /* Set the identifier of the table being edited in this iteration */
             Tables[count].setAttribute( "id", "collapsibleTable" + tableIndex );
             Tables[count].setAttribute( "id", "collapsibleTable" + tableIndex );
 
             /* Create the button assuming it is a minimized table
             /* Create the button assuming it is a minimized table
             * to do the initial creation. */
             * to do the initial creation. */
Line 165: Line 161:
             var ButtonLink = document.createElement( "a" );
             var ButtonLink = document.createElement( "a" );
             var ButtonText = document.createTextNode( maximizeSymbol );
             var ButtonText = document.createTextNode( maximizeSymbol );
 
             /* Define where the button floats and its font and size.
             /* Define where the button floats and its font and size.
             * The width should be set to the max character count of
             * The width should be set to the max character count of
Line 176: Line 172:
             Button.style.width = "5em";
             Button.style.width = "5em";
Button.style.color = "white";
Button.style.color = "white";
 
 
             /* Set the link color and identifier */
             /* Set the link color and identifier */
             ButtonLink.style.color = Header.style.color;
             ButtonLink.style.color = Header.style.color;
ButtonLink.style.color = "white";
ButtonLink.style.color = "white";
             ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
             ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
 
             /* Set the destination of the button */
             /* Set the destination of the button */
             ButtonLink.setAttribute( "href", "javascript:toggleTableView(" + tableIndex + ");" );
             ButtonLink.setAttribute( "href", "javascript:toggleTableView(" + tableIndex + ");" );
Line 189: Line 185:
             Button.appendChild( ButtonLink );
             Button.appendChild( ButtonLink );
             Button.appendChild( document.createTextNode( "]" ) );
             Button.appendChild( document.createTextNode( "]" ) );
 
 
             /* Load the next header and table for the next iteration */
             /* Load the next header and table for the next iteration */
             Header.insertBefore( Button, Header.childNodes[0] );
             Header.insertBefore( Button, Header.childNodes[0] );
Line 196: Line 192:
         }
         }
     }
     }
 
     /* Earlier in this function, assumed all tables are minimized to do the initial creation.
     /* Earlier in this function, assumed all tables are minimized to do the initial creation.
     * Now, loop again through the tables and set those to maximized that need setting,
     * Now, loop again through the tables and set those to maximized that need setting,
Line 212: Line 208:
     }
     }
}
}
 
/* JavaScript for rounding borders
/* JavaScript for rounding borders
   Source: http://webdesign.html.it/articoli/leggi/528/more-nifty-corners */
   Source: http://webdesign.html.it/articoli/leggi/528/more-nifty-corners */
 
function NiftyCheck(){
function NiftyCheck(){
if(!document.getElementById || !document.createElement)
if(!document.getElementById || !document.createElement)
Line 224: Line 220:
return(true);
return(true);
}
}
 
function Rounded(selector,wich,bk,color,opt){
function Rounded(selector,wich,bk,color,opt){
var i,prefixt,prefixb,cn="r",ecolor="",edges=false,eclass="",b=false,t=false;
var i,prefixt,prefixb,cn="r",ecolor="",edges=false,eclass="",b=false,t=false;
 
if(color=="transparent"){
if(color=="transparent"){
     cn=cn+"x";
     cn=cn+"x";
Line 275: Line 271:
     }
     }
}
}
 
function AddBorder(el,bc){
function AddBorder(el,bc){
var i;
var i;
Line 296: Line 292:
el.passed=true;
el.passed=true;
}
}
   
function AddTop(el,bk,color,bc,cn){
function AddTop(el,bk,color,bc,cn){
var i,lim=4,d=CreateEl("b");
var i,lim=4,d=CreateEl("b");
 
if(cn.indexOf("s")>=0) lim=2;
if(cn.indexOf("s")>=0) lim=2;
if(bc) d.className="artop";
if(bc) d.className="artop";
Line 314: Line 310:
el.insertBefore(d,el.firstChild);
el.insertBefore(d,el.firstChild);
}
}
 
function AddBottom(el,bk,color,bc,cn){
function AddBottom(el,bk,color,bc,cn){
var i,lim=4,d=CreateEl("b");
var i,lim=4,d=CreateEl("b");
 
if(cn.indexOf("s")>=0) lim=2;
if(cn.indexOf("s")>=0) lim=2;
if(bc) d.className="artop";
if(bc) d.className="artop";
Line 332: Line 328:
el.appendChild(d);
el.appendChild(d);
}
}
 
function CreateEl(x){
function CreateEl(x){
if(isXHTML) return(document.createElementNS('http://www.w3.org/1999/xhtml',x));
if(isXHTML) return(document.createElementNS('http://www.w3.org/1999/xhtml',x));
else return(document.createElement(x));
else return(document.createElement(x));
}
}
 
function getElementsBySelector(selector){
function getElementsBySelector(selector){
var i,selid="",selclass="",tag=selector,f,s=[],objlist=[];
var i,selid="",selclass="",tag=selector,f,s=[],objlist=[];
 
if(selector.indexOf(" ")>0){  //descendant selector like "tag#id tag"
if(selector.indexOf(" ")>0){  //descendant selector like "tag#id tag"
     s=selector.split(" ");
     s=selector.split(" ");
Line 374: Line 370:
return(objlist);
return(objlist);
}
}
 
function Mix(c1,c2){
function Mix(c1,c2){
var i,step1,step2,x,y,r=new Array(3);
var i,step1,step2,x,y,r=new Array(3);
Line 390: Line 386:
return("#"+r[0].toString(16)+r[1].toString(16)+r[2].toString(16));
return("#"+r[0].toString(16)+r[1].toString(16)+r[2].toString(16));
}
}
 
function doRoundEdges(){
function doRoundEdges(){
   if(!NiftyCheck())
   if(!NiftyCheck())
Line 396: Line 392:
   Rounded("div#nifty","all","#FFF","#D4DDFF","smooth");
   Rounded("div#nifty","all","#FFF","#D4DDFF","smooth");
}
}
 
$( doRoundEdges );
addOnloadHook( doRoundEdges );
 
 
 
 
 
 
 
 
 
 
 
/* IE Correction Code **********************************************
/* IE Correction Code **********************************************
  * Description: This is code to fix known bugs in IE
  * Description: This is code to fix known bugs in IE
Line 416: Line 412:
  * Modified 18 October 2007 to fix ie imagemap bug
  * Modified 18 October 2007 to fix ie imagemap bug
  */
  */
 
// setStyleById: given an element id, style property and  
// setStyleById: given an element id, style property and  
// value, apply the style.
// value, apply the style.
Line 428: Line 424:
n.style[p] = v;
n.style[p] = v;
}
}
 
/* Add a hook to perform code on every pageload */
/* Add a hook to perform code on every pageload */
$( performIE );
addOnloadHook( performIE );
function performIE()
function performIE()
{  
{  
Line 454: Line 450:
     }
     }
}  
}  
 
//Get Ad Dart Number
//Get Ad Dart Number
var randDARTNumber=0;
var randDARTNumber=0;
Line 462: Line 458:
}
}
genSetRandDARTNumber();
genSetRandDARTNumber();
 
/* </pre> */
/* </pre> */
 
 
/****
/****
     China Area has GFW abandon foreign sites (include Google).
     China Area has GFW abandon foreign sites (include Google).
Line 475: Line 471:
     $(".adsbygoogle").css({"display": "none"});
     $(".adsbygoogle").css({"display": "none"});
*/
*/
 
/****************************** Common Gradient ******************************/
/****************************** Common Gradient ******************************/
$(function(){
$(function(){
Line 486: Line 482:
     console.log(headerList);
     console.log(headerList);
     headerList.each(function(){
     headerList.each(function(){
         $(this).css('-webkit-background-mask-image', 'linear-gradient(to bottom, #000, #fff, #000)');
         var bgc = $(this).css('background-color');
        $(this).css('background-image', 'linear-gradient(to bottom, #eee, ' + bgc + ')');
     });
     });
     rainbowList.css({
     rainbowList.css({
         'backgroundColor': 'rainbow'
         'backgroundColor': 'orange'
     });
     });
    $('h1 > span:not(.mw-editsection)').addClass('textfloat');
    $('h2 > span:not(.mw-editsection)').addClass('textfloat');
});
});
25,204

edits