TheSatanicSanta (talk | contribs) m (TheSatanicSanta moved page MediaWiki:Hydradark.js to MediaWiki:Common.js without leaving a redirect) |
TheSatanicSanta (talk | contribs) m (not hydra) |
||
Line 1: | Line 1: | ||
− | /* Any JavaScript here will be loaded for users |
+ | /* Any JavaScript here will be loaded for all users on every page load */ |
/***************************************** |
/***************************************** |
||
/* Front Page 3-column height equalization * |
/* Front Page 3-column height equalization * |
Latest revision as of 18:48, 13 April 2018
/* Any JavaScript here will be loaded for all users on every page load */
/*****************************************
/* Front Page 3-column height equalization *
/*****************************************/
// Author: Shawn Bruckner
// Date: 2013-Sept-21
// License: CC-BY 3.0
// Version: beta
var fp = fp || {
equalizeColumns : function() {
$( '.fpmain' ).each( function () {
fp.resetSectionBoxHeights( $( this ).find( '.fpsection1, .fpsection2, .fpsection3, .fpsection4' ) );
} );
if ( $( window ).width() > 789 && $( window ).width() < 1390 ) {
$( '.fpmain' ).each( function (index) {
var leftHeight = $( this ).find( '.fpsection1' ).height() + $( this ).find( '.fpsection4' ).height();
var rightHeight = $( this ).find( '.fpsection2' ).height() + $( this ).find( '.fpsection3' ).height();
var difference = Math.abs( rightHeight - leftHeight );
if ( leftHeight < rightHeight ) {
fp.adjustSectionBoxHeights( difference, $( this ).find( '.fpsection1, .fpsection4' ) );
} else if ( rightHeight < leftHeight ) {
fp.adjustSectionBoxHeights( difference, $( this ).find( '.fpsection2, .fpsection3' ) );
}
} );
} else if ( $( window ).width() > 1389 ) {
$( '.fpmain' ).each( function (index) {
var leftHeight = $( this ).find( '.fpsection1' ).height() + $( this ).find( '.fpsection4' ).height();
var middleHeight = $( this ).find( '.fpsection2' ).height();
var rightHeight = $( this ).find( '.fpsection3' ).height();
var maxHeight = Math.max( leftHeight, middleHeight, rightHeight );
if ( leftHeight < maxHeight ) {
fp.adjustSectionBoxHeights( maxHeight - leftHeight, $( this ).find( '.fpsection1, .fpsection4' ) );
}
if ( middleHeight < maxHeight ) {
fp.adjustSectionBoxHeights( maxHeight - middleHeight, $( this ).find( '.fpsection2' ) );
}
if ( rightHeight < maxHeight ) {
fp.adjustSectionBoxHeights( maxHeight - rightHeight, $( this ).find( '.fpsection3' ) );
}
} );
}
},
findAdjustableSectionBoxes : function ( sections ) {
var boxes = sections.find( '.fpbox.fpgreedy' );
if ( boxes.length === 0 ) {
return sections.find( '.fpbox' ).not( '.fpnoresize' );
} else {
return boxes;
}
},
resetSectionBoxHeights : function ( sections ) {
fp.findAdjustableSectionBoxes( sections ).each( function () {
$( this ).height( 'auto' );
} );
},
adjustSectionBoxHeights : function ( heightToAdd, sections ) {
var boxes, lastBox, remainingHeightToAdd, boxHeightToAdd;
boxes = fp.findAdjustableSectionBoxes( sections );
lastBox = boxes.last();
remainingHeightToAdd = heightToAdd;
boxHeightToAdd = Math.floor( heightToAdd / boxes.length );
boxes.each( function() {
if ( this === lastBox.get( 0 ) ) {
$( this ).height( $( this ).height() + remainingHeightToAdd );
} else {
$( this ).height( $( this ).height() + boxHeightToAdd );
remainingHeightToAdd -= boxHeightToAdd;
}
} );
}
};
$( document ).ready( fp.equalizeColumns );
$( window ).resize( fp.equalizeColumns );
/*********************************************
/* End Front Page column height equalization *
/*********************************************/
/* Any JavaScript here will be loaded for users using the Hydra Dark skin */
/* Collapsible infobox sections */
var collapsing = document.querySelectorAll(".section-collapse");
if (collapsing.length>0) {
for (var i = 0; i < collapsing.length ; i++) {
collapsing.item(i).addEventListener('click',collapseHandler,false);
}
}
function collapseHandler() {
var c = this.parentNode.parentNode.nextSibling;
while (c) {
if (c.classList) {
if (c.classList.contains("section-collapse") || c.classList.contains("stop-section-collapse"))
break;
c.classList.toggle('section-collapsed');
}
c = c.nextSibling;
}
this.classList.toggle('collapsed-icon');
}