MediaWiki:Gadget-collapsible-mobile.js

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
// Elementy NavFrame - przeróbka kodu z [[:en:MediaWiki:Mobile.js]]

function navToggles() {
	var divs = document.getElementsByClassName
		? document.getElementsByClassName( 'NavFrame' )
		: document.getElementsByTagName( 'div' );
		
	for ( var i = 0; i < divs.length; i++ ) {
		if ( divs[ i ].className.indexOf( 'NavFrame' ) !== -1 ) {
			createNavToggle( divs[ i ] );
		}
	}
}
 
var NavigationBarHide = '[ukryj ▲]';
var NavigationBarShow = '[pokaż ▼]';
 
function createNavToggle( navFrame ) {
	var navHead, navToggle, navContent;
	
	for ( var j = 0; j < navFrame.childNodes.length; j++ ) {
		var div = navFrame.childNodes[ j ];
		
		switch ( div.className ) {
			case 'NavHead':
				navHead = div;
				break;
			case 'NavContent':
				navContent = div;
				break;
		}
	}
	
	if ( !navHead || !navContent ) {
		return;
	}

	navToggle = document.createElement( 'a' );
	navToggle.setAttribute( 'href', 'javascript:(function (){})()' );

	var toggle = document.createElement( 'span' );
	toggle.className = 'NavToggle';
	toggle.appendChild( navToggle );

	navHead.insertBefore( toggle, navHead.firstChild );
	
	navHead.onclick = function () {
		if ( navContent ) {
			var s = navContent.style;
			
			if ( s.display === 'none' ) {
				navToggle.innerHTML = NavigationBarHide;
				s.display = 'block';
			} else {
				navToggle.innerHTML = NavigationBarShow;
				s.display = 'none';
			}
		}
	};
	
	navHead.onclick();
}

$( function () {
	navToggles();
} );