Pryos.org: DOM Events und Objekte

Beitrag lesen

Hi,

Hallo,

die Lösung ist tatsächlich reichlich unschön: "Element" ist als Bezeichner schon in Gebrauch.

Element war nur ein Beispiel in wirklichkeit heisst die Variable "cESel".

Ändere den Namen Deiner Variable. Dann sieht's doch gut aus.

Nein, da ich bei meiner aktuellen lösung vorgebe, wie das Objekt, aus welchem die Klasse erstellt wird heisst.

hier die komplette Klasse:

var TabManager = function(SelectorName, DontUseHash) {  
	this.currentTab = "";  
	this.Tabs = new Array();  
	this.useHash = (!DontUseHash);  
	this.TabPrefix = "tab_";  
	this.ContentPrefix = "";  
	  
	var	TAB_SPACE = document.getElementById(SelectorName);	  
	if (!TAB_SPACE) return false;  
	  
	var CList	= document.getElementsByClassName(SelectorName);  
	if (CList.length<=0) return false;  
	  
	for (var ci=0; ci < CList.length; ci++) {  
		// Infos holen  
		var cElem = CList[ci];  
		var cIden = cElem.id;  
		var cName = cElem.getAttribute("name");  
		// Tab erstellen  
		var cESel = document.createElement("div");  
		cESel.id = this.TabPrefix + cIden;  
		cESel.className = "nonsel";  
		cESel.appendChild(document.createTextNode(cName));  
		cESel.onclick = function() {  
			TabManager.Select(this.id.slice(TabManager.TabPrefix.length));  
		}  
		TAB_SPACE.appendChild(cESel);  
		// Werte überschreiben  
		cElem.id = this.ContentPrefix+cIden;  
		cElem.setAttribute("name", "");  
		this.Tabs.push(cIden);  
	}  
	  
	this.Select = function (newTab) {  
		if (!this.Tabs) return false;  
		  
		for (var i = 0; i < this.Tabs.length; i++) {  
			var Tab = this.Tabs[i];  
			if (Tab == newTab) {  
				document.showID(this.ContentPrefix + Tab);  
				document.setClass(this.TabPrefix + Tab, "sel");  
			} else {  
				document.hideID(this.ContentPrefix + Tab);  
				document.setClass(this.TabPrefix + Tab, "nonsel");  
			}  
		}  
		currentTab = newTab;  
		if (this.useHash) location.hash = newTab;  
	}  
	  
	if (this.useHash && location.hash.length > 1 && this.Tabs.getIndex(location.hash.slice(1))) {  
		this.Select(location.hash.slice(1));  
	} else this.Select(this.Tabs[0]);  
}

Cheatah

mfg Pryos