java menü

mo-ca

Mitglied
javascript menü

Moin, also seit gestern bastel ich ja an nem menü, wie ihrs bemerkt habt und bin nun durch diverse Kumpels so weit:

Code:
var menuObjs = new Array();

function globalInit() {
	var menues = document.getElementById( "nav_main" ).getElementsByTagName( "A" );
	for ( var i = 0; i < menues.length; i++ ) {
		menuObjs[ menues[i].id ] = new Menu( menues[i] );
	}
}

window.onload = globalInit;

// EventHandler
function handlerMouseOver( obj ) {
	// Timer löschen
	menuObjs[ obj.id ].stopTimer();
}

function handlerMouseOut( obj ) {
	// Timer starten
	menuObjs[ obj.id ].startTimer();
}

function handlerClick( obj ) {
	for ( var e in menuObjs ) menuObjs[e].lowlight();
	menuObjs[ obj.id ].highlight();
}

function handlerTimer(id) {
	if ( ! menuObjs || ! menuObjs[ id ] ) return;
	for ( var e in menuObjs ) menuObjs[ e ].resetObj();
}

// Klasse Menü
function Menu( objLink ) {
	// Member
	this.m_objLink = objLink;
	this.m_objLink.onclick = new Function("handlerClick(this); return false;");
	this.m_objLink.onmouseover = new Function("handlerMouseOver(this)");
	this.m_objLink.onmouseout = new Function("handlerMouseOut(this)");
	
	this.m_objLayer = document.getElementById( "nav_pop_" + objLink.id.strRight("nav1_") );
	this.m_isActive = ( this.m_objLink.className == "active" );
	this.m_dTimer = -1;
	
	// Funktion
	this.highlight = menu_highlight;
	this.lowlight = menu_lowlight;
	this.startTimer = menu_startTimer;
	this.stopTimer = menu_stopTimer;
	this.resetObj = menu_resetObj;

	// Alle Unterpunkte 

		
	if ( this.m_isActive ) this.highlight();
	
	return this;
}

function menu_highlight() {
	this.m_objLink.className = "active";
	this.m_objLayer.style.visibility = "visible";
	this.m_objLayer.style.display = "block";
}

function menu_lowlight() {
	if ( ! this.m_isActive ) this.m_objLink.className = "";
	this.m_objLayer.style.visibility = "hidden";
	this.m_objLayer.style.display = "none";
}

function menu_startTimer() {
	this.m_dTimer = window.setTimeout("handlerTimer('" + this.m_objLink.id + "');", 1000);
}

function menu_stopTimer() {
	if ( this.m_dTimer > -1 ) window.clearTimeout( this.m_dTimer );
	this.m_dTimer = -1
}

function menu_resetObj() {
	if ( this.m_isActive ) {
		this.m_objLink.className = "active";
		this.m_objLayer.style.visibility = "visible";
		this.m_objLayer.style.display = "block";
	}
	else {
		this.m_objLink.className = "A";
		this.m_objLayer.style.visibility = "hidden";
		this.m_objLayer.style.display = "none";
	}
	this.stopTimer();
}
// Ende der Klasse

Wer sich die seite dazu ansehen will: Klickt hier .

Sieht schon recht lustig aus (das menü), nur leider muss das verdammte ding, sobald ich auf nen link in der 2. reihe klicke statisch werden, also anfangs is noch nav_pop_1 da, klicke ich auf geschätsbereiche, kommt menü 2 und dann muss das shit ding, wenn ich auf (irgendeinen mit ner 2) klicke, statisch werden.

hoffe ihr könnt mir helfen ...

danke:(
 
Zuletzt bearbeitet:
1. Bitte was meinst du mit "statisch"?

2. Wo ist eigentlich das Menu au der Seite?

3. ES HEISST GOTTVERDAMMT JAVASCRIPT und nicht Java! Lernt das endlich!
 
1) statisch heißt: es bewegt sich nicht mehr, denn das wäre dann: dynamisch!
2) das menü ist das komische zeugs oben, wo unternehmen, geschäftsbereiche etc steht. einfach mal klicken und qken!

3) oki, asche auf mein haupt, geändert :rolleyes:
 

Neue Beiträge

Zurück