N.Schlup: Div visibility in Netscape

Hey,

wie wohl unschwer zu erkennen ist scripte ich normalerweise nicht in javaScript. Mein Problem ist folgendes:
Ich habe einen Link und 2 divs mit Bildern. Wenn ich über den Link fahre möchte ich, dass die beiden Bilder eingeblendet werden. Wenn ich wieder weg fahre sollen sie wieder verschwinden. Mit dem IE klappt das eigentlich auch. beim Netscape (getestet mit v7) passiert nicht. ich habe bereits im Archiv nachgesehen aber habe eigentlich nur Angaben gefunden die mir bestätigt haben dass es auf diesem Wege funktionieren sollte. h1 und h2 sind die beiden div's. Mit <a href="mailto:himself@bla.de" onmouseover="layer_in()" onmouseout="layer_out()"> rufe ich die Functions auf. Kann mir jemand einen Rat gehen wie sich dieses Problem lösen lässt?

MfG

Code:
<script type="text/javascript">
<!--
if (navigator.appName=='Netscape')
{
 function layer_in()
 {
  document.h1.visibility = "visible";
  document.h2.visibility = "visible";
 }
 function layer_out()
 {
  document.h1.visibility = "hidden";
  document.h2.visibility = "hidden";
 }
}

else
{
 function layer_in()
 {
  h1.style.visibility='visible';
  h2.style.visibility='visible';
  return;
 }
 function layer_out()
 {
  h1.style.visibility='hidden';
  h2.style.visibility='hidden';
  return;
 }
}
//-->
</script>

  1. Hallo,

    document.getElementById("h1").style.visibility = "visible"; sollte auch mit Netscape 7 funktionieren - allerdings nicht mit IE 4.

    Grüße,

    Utz

    1. Hallo,

      document.getElementById("h1").style.visibility = "visible"; sollte auch mit Netscape 7 funktionieren - allerdings nicht mit IE 4.

      Grüße,

      Utz

      Danke, genau das habe ich gesucht. Als ich diese Methode getestet habe, habe ich "style" vergessen ;-)

  2. onmouseout="layer_out()"> rufe ich die Functions auf. Kann mir jemand einen Rat gehen wie sich dieses Problem lösen lässt?

    Indem du nicht auf die nutzlose Eigenschaft appName testest, sondern auf dass was du einsetzten möchtest.

    die nachfolgende Funktion sollte in den meisten Browsern funktionieren.

    function showLayer(id, show)
    {
        var obj = null;

    if(document.getElementById) obj = doc.getElementById(id);
        else if(document.layers) obj = doucment.layers[id];
        else if(document.all) obj = doc.all[id];

    if(!obj) return false;

    if(document.layers)
        {
             var vis = show ? 'show' : 'hidden';
             obj['visibility'] = vis;
             return obj['visibility'];
        }
        var vis = show ? 'visible' : 'hidden';
        return obj.style['visibility'] =  vis;
    }

    HTML:
    <a href="mailto:himself@bla.de"
    onmouseover="showLayer('h1', true);" onmouseout="showLayer('h1', false);">

    Das mailto Links nicht funktionieren weißt du?
    http://www.praast.de/ffq/formular/

    struppi.