MediaWiki:Common.js

Aus Spieleprogrammierer-Wiki
Wechseln zu: Navigation, Suche

Hinweis: Leere nach dem Speichern den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Extras → Internetspuren löschen … → Individuelle Auswahl → Den kompletten Cache löschen
  • Konqueror: Aktualisieren anklicken oder F5 drücken
/* Das folgende JavaScript wird für alle Benutzer geladen. */
 
var PANEL_NORMAL_CLASS = "panel";
var PANEL_HEADER_CLASS = "panel-header";
var PANEL_COLLAPSED_CLASS = "panel-collapsed";
var PANEL_CONTENT_CLASS = "panel-content";
var PANEL_ANIMATION_DELAY = 20;
var PANEL_ANIMATION_STEPS = 10;
var panelsStatus = {};
 
function setUpPanels()
{
	var divs = document.getElementsByTagName("div");
	for(var i = 0; i < divs.length; i++)
	{
		var el = divs[i];
		if(el.className == PANEL_HEADER_CLASS && (el.parentNode.className == PANEL_NORMAL_CLASS || el.parentNode.className == PANEL_COLLAPSED_CLASS))
		{
			var name = el.firstChild.nodeValue;
			panelsStatus[name] = (el.parentNode.className == PANEL_NORMAL_CLASS) ? "true" : "false";
			el.onclick = function() 
			{
				var target = this.parentNode;
				var name = this.firstChild.nodeValue;
				var collapsed = (target.className == PANEL_COLLAPSED_CLASS);
				animateTogglePanel(target, collapsed);
			};
		}
	}
}
 
function animateTogglePanel(panel, expanding)
{
	var elements = panel.getElementsByTagName("div");
	var panelContent = null;
	for(var i = 0; i < elements.length; i++)
	{
		if(elements[i].className == PANEL_CONTENT_CLASS)
		{
			panelContent = elements[i];
			break;
		}
	}
 
	panelContent.style.display = "block";
	var contentHeight = panelContent.offsetHeight;
	if(expanding) panelContent.style.height = "0px";
	var stepHeight = contentHeight / PANEL_ANIMATION_STEPS;
	var direction = (!expanding ? -1 : 1);
	setTimeout(function(){animateStep(panelContent,1,stepHeight,direction)}, PANEL_ANIMATION_DELAY);
}
 
function animateStep(panelContent, iteration, stepHeight, direction)
{
	if(iteration < PANEL_ANIMATION_STEPS)
	{
		panelContent.style.height = Math.round(((direction > 0) ? iteration : 10 - iteration) * stepHeight) + "px";
		iteration++;
		setTimeout(function() { animateStep(panelContent, iteration, stepHeight, direction) }, PANEL_ANIMATION_DELAY);
	}
	else
	{
		panelContent.parentNode.className = (direction < 0) ? PANEL_COLLAPSED_CLASS : PANEL_NORMAL_CLASS;
		panelContent.style.display = panelContent.style.height = "";
	}
}
 
if(window.addEventListener) window.addEventListener("load", setUpPanels, false);
else if(window.attachEvent)	window.attachEvent("onload", setUpPanels);
Meine Werkzeuge
Varianten
Aktionen
Navigation
Werkzeuge