MediaWiki:Common.js: Difference between revisions

Undo revision 247434 by Kenny (talk)
No edit summary
(Undo revision 247434 by Kenny (talk))
Line 6: Line 6:
  })();
  })();
/*
/*
addOnloadHook(function(){
$(function(){
     $('div.tabdiv > ul > li').click(function(){
     $('div.tabdiv > ul > li').click(function(){
         $(this).parent().parent().children('div').hide();
         var list_parent = $(this).parent();
         $((this).children('a:first').attr('href')).show();
        var root = $(list_parent).parent();
         $(this).parent().children('li').removeClass('active').addClass('inactive');
        var target = root.children('div:eq(' + list_parent.index(this) + ')');
         $(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 17: Line 22:
     });
     });
});
});
*/
/*
$(function($) {
addOnloadHook(function($) {
return function() {
return function() {
$('.tabdiv > div').hide();
$('.tabdiv > div').hide();
Line 44: Line 48:
}
}
}(jQuery));
}(jQuery));
 
/****************************** Slides JS ******************************/
/****************************** Slides JS ******************************/
addOnloadHook(function(){
$(function(){
     $('.slidediv').each(function(){
     $('.slidediv').each(function(){
         var width = $(this).width();
         var width = $(this).width();
Line 57: Line 61:
     });
     });
});
});
 
/** 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 63: Line 67:
  *  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 */
addOnloadHook( createTableButtons );
$( 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 85: Line 89:
       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 91: Line 95:
         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 124: Line 128:
     }
     }
}
}
 
/* 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 133: Line 137:
     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 143: Line 147:
         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 149: Line 153:
             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 161: Line 165:
             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 172: Line 176:
             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 185: Line 189:
             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 192: Line 196:
         }
         }
     }
     }
 
     /* 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 208: Line 212:
     }
     }
}
}
 
/* 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 220: Line 224:
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 271: Line 275:
     }
     }
}
}
 
function AddBorder(el,bc){
function AddBorder(el,bc){
var i;
var i;
Line 292: Line 296:
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 310: Line 314:
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 328: Line 332:
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 370: Line 374:
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 386: Line 390:
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 392: Line 396:
   Rounded("div#nifty","all","#FFF","#D4DDFF","smooth");
   Rounded("div#nifty","all","#FFF","#D4DDFF","smooth");
}
}
 
addOnloadHook( doRoundEdges );
$( 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 412: Line 416:
  * 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 424: Line 428:
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 */
addOnloadHook( performIE );
$( performIE );
function performIE()
function performIE()
{  
{  
Line 450: Line 454:
     }
     }
}  
}  
 
//Get Ad Dart Number
//Get Ad Dart Number
var randDARTNumber=0;
var randDARTNumber=0;
Line 458: Line 462:
}
}
genSetRandDARTNumber();
genSetRandDARTNumber();
 
/* </pre> */
/* </pre> */
 
 
/****
/****
     China Area has GFW abandon foreign sites (include Google).
     China Area has GFW abandon foreign sites (include Google).
Line 471: Line 475:
     $(".adsbygoogle").css({"display": "none"});
     $(".adsbygoogle").css({"display": "none"});
*/
*/
 
/****************************** Common Gradient ******************************/
/****************************** Common Gradient ******************************/
$(function(){
$(function(){
Line 482: Line 486:
     console.log(headerList);
     console.log(headerList);
     headerList.each(function(){
     headerList.each(function(){
         var bgc = $(this).css('background-color');
         $(this).css('-webkit-background-mask-image', 'linear-gradient(to bottom, #000, #fff, #000)');
        $(this).css('background-image', 'linear-gradient(to bottom, #eee, ' + bgc + ')');
     });
     });
     rainbowList.css({
     rainbowList.css({
         'backgroundColor': 'orange'
         'backgroundColor': 'rainbow'
     });
     });
    $('h1 > span:not(.mw-editsection)').addClass('textfloat');
    $('h2 > span:not(.mw-editsection)').addClass('textfloat');
});
});
25,204

edits