Bine: Kleines Problem - Kann wer helfen?

Hallo!!!

Ich hab me Web-Seite für unser Sommerlager erstellt und hab da ein ganz tolles Menü gefunden. Bei diesem Menü erscheinen die unterpunkte, wenn man mit der Maus drüber fährt. Bloß mit Netscape erscheinen die Unterpunkte nich....
Der erste Teil sieht so aus:
<STYLE>
A:Hover { color:steelblue; text-decoration:none; text-transform: uppercase; font-weight:italic }
A { color:royalblue; text-decoration:none; font-size: 10pt; font-family: Comic Sans MS}
</STYLE>

<SCRIPT LANGUAGE="Javascript">

ie4 = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ))
ns4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4 ))

if (ns4) {
layerRef="document.layers";
styleRef="";
} else {
layerRef="document.all";
styleRef=".style";
}

function afficheCalque(calque)
{
eval(layerRef + '["' + calque +'"]' + styleRef + '.visibility = "visible"');
}

function cacheCalque(calque)
{
eval(layerRef + '["' + calque +'"]' + styleRef + '.visibility = "hidden"');
}

</SCRIPT>

</HEAD>

<BODY bgColor=steelblue text=#silver>

<center><IMG SRC=http://visit.geocities.com/counter.gif ALT="Counter" size="7"></center>
<center><font face="comic sans ms" font color=silver>Besucher seit 9.8.2002</font></center><br><br>
<CENTER>
<table border=0 cellspacing=0 cellpadding=0>
<TR valign=top>

<TR>
<DIV STYLE="background-color:silver; width:160" onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">
<CENTER><a href=# onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">Schweine im Weltall<br>(2001)</a></CENTER>
</DIV>
<DIV id=div1 onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')" style="position:relative; layer-background-color:silver; background-color:silver; width:160; border-width:thin; border-color:white; border-style: groove; visibility: hidden">
 <a href=http://de.geocities.com/schweine_im_weltall2001/dietage.htm target="mainFrame" onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')" >Das Programm</a><br>
 <a href=http://de.geocities.com/schweine_im_weltall2001/leiter.htm target="mainFrame" " onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">Die Leiter</a><br>
 <a href=http://de.geocities.com/schweine_im_weltall2001/teilnehmer.htm target="mainFrame" " onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">kleine Schweinchen</a><br>
<a href=http://de.geocities.comschweine_im_weltall2001/kueche.htm target="mainFrame" " onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">Die Küche</a><br>
<a href=http://de.geocities.comschweine_im_weltall2001/berichte.htm target="mainFrame" " onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">Berichte</a><br>
<a href=http://de.geocities.comschweine_im_weltall2001/lagersong.htm target="mainFrame" " onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">Verdammt, ich krieg´ dich!</a><br>
<a href=http://de.geocities.comschweine_im_weltall2001/remember.htm target="mainFrame" " onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">Remember When...</a><br>
<a href=http://de.geocities.comschweine_im_weltall2001/zitate.htm target="mainFrame" " onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">Gesagt ist gesagt...!</a><br>
<a href=http://de.geocities.comschweine_im_weltall2001/gut-schlecht.htm target="mainFrame" " onmouseover="afficheCalque('div1')" onmouseout="cacheCalque('div1')">Was uns gefallen hat... und was nicht</a><br>
</DIV>
</TR>

Falls ihr euch die Seite anschauen wollt:www.mh-sommerlager.homepage.nu

Weiß irgendwer, woran das liegt??? Oder hat wer ne Lösung für mein Problem???

Danke schonmal für alle Antworten.
Gruß Bine

  1. hallo bine,

    Dein Problem liegt vermutlich hier:

    <SCRIPT LANGUAGE="Javascript">
    ie4 = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ))
    ns4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4 ))

    Du differenzierst hier "nur" zwischen IE 4 und Netscape 4. Dabei weißt du bestimmt, daß die aktuellen Browser dieser Bauart inzwischen Versionsnummer 6 und höher tragen. Du hast dir einfach irgendwo ein "altes" Script besorgt und vergessen, nachzuschauen, ob das auch mit den "modernen" Browsern richtig funktioniert. Man sieht es auch hier:

    if (ns4) {
    layerRef="document.layers";

    Netscape 4 kannte "layer" noch, höhere Netscape-Versionen können damit nix mehr anfangen  -  und wahrscheinlich liegt hier dein Problem.

    Wenn du unbedingt eine "Browserweiche" einbauen willst oder mußt, ist es wesentlich effektiver, danach zu fragen, eas der Browser kann  -  und nicht, wie er heißt. Also: anstelle von

    ie4 = ((navigator.appName...

    und ähnlichen Stellen solltest du solche Variablen nehmen:
    var isIE = browserName.indexOf("Microsoft Internet Explorer" )==-1?false:true;
    var isNN = browserName.indexOf("Netscape")==-1?false:true;
    var isOpera = browserName.indexOf("Opera")==-1?false:true;
    var isDOM = document.getElementById?true:false;
    var isDomNN = document.layers?true:false;
    var isDomIE = document.all?true:false;
    und dann auch nicht vom Vorkommen der Variablen abhängig machen, ob "document.layers" zu wählen ist, sondern davon "document.getElementById" abhänig machen.

    Grüße aus Berlin

    Christoph S.