Problem mit OverLib in Verbindung mit Dropdown-Menü!

Begonnen von Martin, 30 Oktober 2006, 14:09:49

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Martin

Hallo,

Ich habe seit langem unter IE6 (+ IE7) das Problem, dass die aufklappenden Menüpunkte meines Head-Menüs beim wechsel von Punkt1 auf Punkt2 bzw. auf Punkt3 usw. kurz aus- und dann wieder einblenden.

Ich hab mich halb todgesucht und den Fehler nicht gefunden. Heute - ich bin gerade dabei ein neues Menü nach der Vorlage von Suckerfish zu erstellen - finde ich zufällig die Lösung. Das Includen der OverLib.js verursacht das "zucken".
Da ich sie aber wegen des Kalenders kaum weglassen kann, hoffe ich, Ihr wisst, wie ich das Problem lösen kann :)

Martin

Hat keiner ne Idee?

Wäre mir wirklich sehr wichtig...  ::)

Andi

Hi :)

ist schwer zu sagen, javascript....

Vermutlich beeinflussen sich da die event-handler, oder die Variablen zwischen den versch. Scripten.
Kommen irgendwelche Javascript-Fehler?
schön´s Grüssle, Andi

Martin

Zitat
ist schwer zu sagen, javascript....
... das dachte ich schon, ich weiß ja wie gern Du Javascript magst ;)

Zitat
Kommen irgendwelche Javascript-Fehler?
Nein, keine Fehler. Firefox kommt auch damit klar...

Ich poste hier mal das Script:

<script type="text/javascript"><!--//--><![CDATA[//><!--

sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//--><!]]></script>

Martin

vielleicht noch eine Anmerkung hierzu: Bei meinem aktuellen Theme verursacht die OverLib ebenfalls schon das beschriebene "Zucken", dort verwende ich ein noch einfacheres JavaScript:

<script language="JavaScript" type="text/JavaScript">
<!--
function einblenden(name){
//document.getElementById("layer-id").style.visibility = "visible";
document.getElementById(name).style.visibility = 'visible';
}

function ausblenden(name){
document.getElementById(name).style.visibility = "hidden";
}

//-->
</script>
<!-- Ende Script Dropdow