MediaWiki:Skin/Test zirkelklapp.js: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
(damit ich's gleich auslagern kann schon mal hier geparkt)
 
K
Zeile 42: Zeile 42:
 
}
 
}
 
}
 
}
 +
 +
addOnloadHook(zirkelklapp);

Version vom 26. Februar 2010, 15:32 Uhr

/* Neues Zirkel-Klapp-script mit prototype-Gedöhnse */

function zirkelklapp() {
	alldivs = document.getElementsByTagName('div');
	for(var i = 0; i < alldivs.length; i++) {
		if(alldivs[i].className == "tooltipsource zirkel") {
			if(typeof zirkel == 'undefined') {
				zirkel = new Array();
				}
			zirkel.push(alldivs[i]);
			}
		}
	if(typeof zirkel != 'undefined') {
		for(var i = 0; i < zirkel.length; i++) {
			zirkel[i].getElementsByTagName('table')[0].style.display = 'none';
			}
		alllinks = document.getElementsByTagName('a');
		for(var i = 0; i < alllinks.length; i++) {
			Event.observe(alllinks[i], 'mouseover', function(event) {
				Event.stopObserving(document.getElementsByTagName('body')[0], 'mousedown');
				});
			Event.observe(alllinks[i], 'mouseout', function(event) {
				Event.observe(document.getElementsByTagName('body')[0], 'mousedown', function(event) {
					for(var i = 0; i < zirkel.length; i++) {
						zirkel[i].getElementsByTagName('table')[0].style.display = 'none';
						}
					Event.stopObserving(document.getElementsByTagName('body')[0], 'mousedown');
					});
				});
			};
		for(var i = 0; i < zirkel.length; i++) {
			Event.observe(zirkel[i].getElementsByTagName('span')[0], 'click', function(event) {
				this.parentNode.getElementsByTagName('table')[0].style.display = 'block';
				Event.observe(document.getElementsByTagName('body')[0], 'mousedown', function(event) {
					for(var i = 0; i < zirkel.length; i++) {
						zirkel[i].getElementsByTagName('table')[0].style.display = 'none';
						}
					Event.stopObserving(document.getElementsByTagName('body')[0], 'mousedown');
					});			
				});
			}
		}
	}

addOnloadHook(zirkelklapp);