• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Problem bei Netscaoe: Navigation mit Layern.

mohelten

New member
Hallo,

habe das Problem mal hochgeladen: http://www.sitecall.de/wfb/index.html

Die Navigation ist dabei mein Problem. Diese besteht aus 3 Teilen:
- Buttons
- Layer mit Bildern, die sich zeigen, wenn man über die Buttons geht
- Layer mit einer Subnavigation (einfacher Text), der ebenfalls erscheint, wenn man über die Buttons geht.

Folgendes Javascript habe ich (abgelegt in Datei nav.js):
var ie4 = (document.all) ? true : false;
var ns4 = (document.layers) ? true : false;
var ns6 = (document.getElementById && !document.all) ? true : false;

function show(name) {
if (ie4) {document.all['' + name].style.visibility = "visible";}
if (ns4) {document.layers['' + name].visibility = "show";}
if (ns6) {document.getElementbyId(['' + name]).style.display = "block";}
}

function hide(name) {
if (ie4) {document.all['' + name].style.visibility = "hidden";}
if (ns4) {document.layers['' + name].visibility = "hide";}
if (ns6) {document.getElementbyId(['' + name]).style.display = "none";}
}

so rufe ich die Layer auf (news,unternehmen, produkte und karriere sind die Layer mit mit den jeweiligen Bildern; sub_... die Layer mit den Subnavigationen):

<a onmouseover=" show('unternehmen');show('sub_unternehmen');hide('
news');hide('produkte');hide('karriere');hide('sub
_produkte');hide('sub_karriere');">
<img src="img/bt_unternehmen.gif" width="152" height="18" alt="" border="0"></a>


Woran liegt es, dass der mir im Netscape 4 & 6 nicht das zeigt, was er soll?
(Internet Explorer 6 und Opera 6.0 zeigen es an.
Ich bitte um Hilfe.

DANKE.
 
also mein Opera 6 zeigt Deine Menus gar nicht an!
Bei Dir zeigt er sie vermutlich deshalb an, weil Du Opera auf "Identify as MS IE5" eingestellt hast..... im nativen Opera Modus funktionieren Deine Skripte nicht

Der Grund für das Nicht-Funktionieren Deiner Skripte schiebe ich mal auf eine fehlerhafte Browsererkennung und ein falsches DOM.....
Die Dreamweaver Funktionen MM_findObj und MM_showHideLayers sind da wesentlich besser geeignet....
 
habs verändert: klappt zwar besser, aber noch nicht ganz

Habe jetzt ein anderes Script, bei dem es besser funzt. Im Netscape 6, Opera 6 und IE6 läufts.
Der Netscape 4 macht noch Probleme:

das aktuelle Script:

<SCRIPT LANGUAGE="JavaScript" type="text/javascript">
ns4 = (document.layers) ? true:false
ie4 = (document.all) ? true:false
ns6 = (document.getElementById) ? true:false

function show(id) {
if(ns4) document.layers[id].visibility="show";
else if(ns6) document.getElementById(id).style.visibility="visible";
else if(ie4) document.all[id].style.visibility="visible";
}

function hide(id) {
if(ns4) document.layers[id].visibility="hide";
else if(ns6) document.getElementById(id).style.visibility="hidden";
else if(ie4) document.all[id].style.visibility="hidden";
}
</SCRIPT>


Der Aufruf nochmal:
<a onmouseover=" show('unternehmen');show('sub_unternehmen');hide('
news');hide('produkte');hide('karriere');hide('sub
_produkte');hide('sub_karriere');" href="#">

Folgende Beobachtung habe ich gemacht:
Wenn ich im mouseover nur ein Show(layer) habe, dann versteckt er die anderen Layer, wie gewollt. Allerdings brauche ich beide shows (für das Bild und die Subnavigation).

Außerdem zeigt der meine Layer garnicht an, wenn ich im A-Tag keinen href="#" habe.

Ich bitte nochmal um Eure Hilfe, kenne mich nicht besonders gut mit Javascript aus.

DANKE.
 
Zurück
Oben