Editing MediaWiki:Monobook.js
From Ephinea PSO Wiki
Warning: You are editing a page that is used to provide interface text for the software.
Changes to this page will affect the appearance of the user interface for other users on this wiki.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
$( document ).ready( function() { | |||
// Set the default expanded items by their headline | |||
var defaultExpandItems = ['Navigation', 'Orga']; | |||
// Set the basic-name for the cookies, which save the current state of expanding | |||
var expandCookieName = 'disdance_project_wiki_nav_expanded_'; | |||
var maxHeights = []; | |||
var expandeds = []; | |||
var labels = []; | |||
initNav();}); | |||
function initNav() { | |||
$( '#p-logo' ).css({'position': 'relative', 'display': 'block'}); | |||
$( '.generated-sidebar h5,#p-tb h5 ').each( function( i ) { | |||
var id = $( this ).parent().attr( 'id' ); | |||
maxHeights[id] = $( this ).next( 'div' ).height(); | |||
var str = $( this ).html(); | |||
labels[id] = str; | |||
if ( $.cookie( expandCookieName + id ) == 'false' ) { | |||
expandeds[id] = false; | |||
minimize( $( this ) ); | |||
} else if ( $.cookie( expandCookieName + id ) == 'true' ) { | |||
expandeds[id] = true; | |||
maximize( $( this ) ); | |||
} else if ( defaultExpandItems.indexOf( str ) == -1 ) { | |||
expandeds[id] = false; | |||
minimize( $( this ) ); | |||
} else { | |||
expandeds[id] = true; | |||
maximize( $( this ) ); | |||
} | |||
$( this ).css({'cursor': 'pointer'}); | |||
$( this ).click( toggleNav );} );} | |||
function minimize( target ) { | |||
var id = $( target ).parent().attr( 'id' ); | |||
// You can change the expires parameter to save the cookie longer/shorter than 7 days like in this code | |||
$.cookie( expandCookieName + id, 'false', { expires: 7} ); | |||
var str = labels[id] + ' ►'; | |||
$( target ).next( 'div' ).animate({'height': '0px'}); | |||
$( target ).html( str );} | |||
function maximize( target ) { | |||
var id = $( target ).parent().attr( 'id' ); | |||
// You can change the expires parameter to save the cookie longer/shorter than 7 days like in this code | |||
$.cookie( expandCookieName + id, 'true', { expires: 7} ); | |||
var str = labels[id] + ' ▼'; | |||
var newHeight = maxHeights[id]; | |||
$( target ).next( 'div' ).animate({'height': newHeight + 'px'}); | |||
$( target ).html( str );} | |||
function toggleNav( e ) { | |||
var id = $(e.target ).parent().attr( 'id' ); | |||
expandeds[id] = !expandeds[id]; | |||
if( expandeds[id] == true ) { | |||
maximize( e.target ); | |||
} else { | |||
minimize( e.target );}} |