Benutzer:Yuszuv/vector.js

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 10. Februar 2011 um 02:03 Uhr durch Yuszuv (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Hinweis: Leere nach dem Veröffentlichen 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
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
// pruefe von einem element, welche klassennamen es besitzt und gebe sie als array zurueck
function PruefeKlassen(Element) {
	var KlassenGes = Element.className;
	var KlassenEinz = KlassenGes.split(" ");
	return KlassenEinz;
}


// funktion, die je nach tag UND klassennamen css-styles setzt, nimmt tagnamen UND einzelne klassennamen in empfang
function ErsetzeCSS(TagName, TagNameNr, TagNameKlassenname) {
	var Counter = 0;
	var Element = document.getElementsByTagName(TagName)[TagNameNr];
	var Verschiebung = (Platz + Em >= Element.offsetWidth) ? Element.offsetWidth : Platz - 2*Em;
	switch (TagName) {
		case "div":
			switch (TagNameKlassenname) {
				case "tright": case "tleft":
				case "float-right":
					Element.style.cssFloat = "right";
					Element.style.clear = "right";
					Element.style.position = "relative";
					Element.style.left = Verschiebung + Em + "px";
					Element.style.marginLeft = -Verschiebung + "px";
					Element.style.marginRight = "0px";
					break;
				case "tnone": 
					if (Element.offsetWidth > ZahlBodyContBreite) {
						Element.style.cssFloat = "none";
						Element.style.clear = "both";
					} else {
						Element.style.cssFloat = "none";
						Element.style.clear = "none";
					}
					break;
				case "noprint":		case "gallerybox":	case "thumb":		case "gallerytext":
				case "thumbinner":	case "thumbcaption":	case "magnify":		case "center":
				case "catlinks":	case "catlinks-allhidden":	 		case "filledPortlet":
				case "vectorTabs":	case "vectorMenu":	case "emptyPortlet":	case "menu":
				case "collapsible-nav":	case "portal":		case "printfooter":	case "first":
				case "persistent":	case "body":		case "expanded":	case "collapsed":
				case "suggestions":	case "suggestions-results":			case "suggestions-special":
				case "visualClear":	case "":
					break;
				default:
					alert("undefinierter klassenname für divs: " + TagNameKlassenname);
					break;
			}
			break;
		case "table":
			switch (TagNameKlassenname) {
				case "float-right":
					Element.style.cssFloat = "right";
					Element.style.clear = "right";
					Element.style.position = "relative";
					Element.style.left = Verschiebung + Em + "px";
					Element.style.marginLeft = -Verschiebung + "px";
					Element.style.marginRight = "0px";
					break;
				case "gallery":
					// und nicht float-right-klasse
					if (!Element.className.match(/float-right/)) {
						if (Element.offsetWidth > ZahlBodyContBreite) {
							Element.style.cssFloat = "none";
							Element.style.clear = "both";
						} else {
							Element.style.cssFloat = "none";
							Element.style.clear = "none";
						}
					}
					break;
				case "toc":		case "float-left":	case "float-center":
				case "wikitable":	case "zebra":		case "":
					break;
				default:
					alert("undefinierter klassenname für tables: " + TagNameKlassenname); 
					break;
			}
			break;
		default:
			alert("lecks mir am arsch!");
			break;
		}
	return Counter;
}
				

function MachWatt() {
// contentbreite festlegen
document.getElementById("bodyContent").style.width = "600px";

// was ein em in px ist
Em = 16;

// Platz auf der rechten Seite
Platz = parseInt(document.body.clientWidth) - parseInt(document.getElementById("bodyContent").offsetWidth) - parseInt(document.getElementById("bodyContent").offsetLeft);

// Seitenbreite setzen
BodyContBreite =  document.getElementById("bodyContent").style.width = (Platz >= 0)? "600px" : "100%";
ZahlBodyContBreite = BodyContBreite.match(/[0-9]/g).join("");




	Tag = new Array("div","table");
	for (var i in Tag) {
		var TagNr = document.getElementsByTagName(Tag[i]);
//		document.write(TagNr[0]);
		for (var j=0; j<TagNr.length; j++) {
			// pruefeKlassen() :Prüfe, welche klassennamen objekt besitzt, gebe array mit klassennamen zurück, evtl. sortiert
			var TagNrKlassen = PruefeKlassen(TagNr[j]); // Ergebnis ist, welche Klassennamen ein einzelnes div,table besitzt
			// ErsetzeCSS() :lese i-te tag-möglichkeit, den j-ten tag der i-ten tag-möglichkeit und k-ten klassennamen ein, vergleiche mit cases-liste, ersetze css
			for (var k in TagNrKlassen) {
				ErsetzeCSS(Tag[i], j, TagNrKlassen[k]);
			}
		}
	}
}


// muss on Resize nochmals ausgeführt werden
if (document.URL.match(/printable/)) {
	alert("was zum drucken");
} else {
	MachWatt();
}

// window.onresize = MachWatt;

addOnloadHook(MachWatt);