javascript menü
Moin, also seit gestern bastel ich ja an nem menü, wie ihrs bemerkt habt und bin nun durch diverse Kumpels so weit:
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
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: