JürgenB: Menü ist nach oben scrollen weg

Beitrag lesen

Hallo Lysjeger,

der mouseout feuert auch, wenn der Mauszeiger ein Element in einem Element verlässt. Du bleibst zwar im Menü, wanderst aber von einem Eintrag zum nächsten.

Abhilfe:
Du arbeitest dich in das Eventhandling ein (Bubbling, ...) und versuchst dieses Verhalten zu unterdrücken.

Ich bin da einen anderen Weg gegangen: Mir gefiel es nicht, dass das Menü sofort weg war, wenn die Maus nur etwas daneben war. Ich habe daher das Ausblenden des Menüs per setTimeout verzögert: hier ein Auszug aus meinem Menüscript:

    var to = null;  
    var me = document.getElementById("menue");  
    var mel = document.getElementById("menueleft");  
    me.onmouseover = function() {  
      window.clearTimeout(to);  
      me.className = "menue_auf";  
    }  
    me.onmouseout = function() {  
      to=window.setTimeout(function(){me.className='menue_zu';},3000);  
    }  
    mel.onclick = function() {  
      me.className = "menue_auf";  
      //to=window.setTimeout(function(){me.className='menue_zu';},3000);  
      return false;  
    }  

Im Einsatz u.A. hier: http://www.j-berkemeier.de/Sudoku.html

Gruß, Jürgen