jari: menüproblem IE / NS7 / Firefox

hallo!

im folgenden code liegt irgendwo der hund begraben, dass das menü zwar im IE fehlerfrei, aber im NS7 bzw. Firefox gar nicht angezeigt wird!
woran kann das liegen?

hoffe auf eure hilfe
jari

<style type="text/css">
#divCont {position:absolute; z-index:1; left:10px; top:20px; height:400px; width:170px; visibility:hidden;}
.clTop   {position:absolute; z-index:1; width:170px; line-height:16px;}
.clSub   {position:absolute; z-index:1; left:0px; top:20px; width:170px; line-height:0px;}

/*** This sets the style for the links inside the menu. ***/
#divCont .clTop a {color:#333333; font-family:verdana,arial,helvetica,sans-serif; font-size:13px; font-weight:bold; text-decoration:none;}
#divCont .clTop a:hover {color:#666666; font-family:verdana,arial,helvetica,sans-serif; font-size:13px; font-weight:bold; text-decoration:none;}
#divCont .clTop .clSub a {color:#666666; font-family:verdana,arial,helvetica,sans-serif; font-size:11px; font-weight:bold; text-decoration:none;}
#divCont .clTop .clSub a:hover {color:#000000; font-family:verdana,arial,helvetica,sans-serif; font-size:11px; font-weight:bold; text-decoration:none;}
</style>
<script language="JavaScript" type="text/javascript">
<!--
function lib_bwcheck(){ //Browsercheck (needed)
 this.ver=navigator.appVersion
 this.agent=navigator.userAgent
 this.dom=document.getElementById?1:0
 this.opera5=this.agent.indexOf("Opera 5")>-1
 this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
 this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
 this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
 this.ie=this.ie4||this.ie5||this.ie6
 this.mac=this.agent.indexOf("Mac")>-1
 this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
 this.ns4=(document.layers && !this.dom)?1:0;
 this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
 return this
}
var bw=new lib_bwcheck()

/*** variables you can configure ***/

FoldNumber = 8     //How many toplinks do you have?
var stayFolded = false   //Stay open when you click a new toplink?
foldImg = 1      //Do you want images (if not set to 0 and remove the images from the body)?
mainOffsetY = -3     //Vertical space adjustment between the main items, in pixels.

//This is the default image.
//Remember to change the actual images in the page as well, but remember to keep the name of the image.
var unImg=new Image();
unImg.src='images/buttons/pfeil_off.gif'

var exImg=new Image();     //Making an image variable...
exImg.src='images/buttons/pfeil_on.gif' //...this is the source of the image that it changes to when the menu expands.

// NOTE: if you change the position of divCont from absolute to relative, you can put the foldoutmenu in a table.
// HOWEVER it will no longer work in netscape 4. If you wish to support netscape 4, you have to use absolute positioning.

/*** There should be no need to change anything beyond this. ***/

// A unit of measure that will be added when setting the position of a layer.
var px = bw.ns4||window.opera?"":"px";

if(navigator.userAgent.indexOf('Opera')>-1 && document.getElementById){ //Opera 5 resize fix.
 scrX= innerWidth; scrY= innerHeight;
 document.onmousemove= function(){
  if(scrX<innerWidth-10 || scrY<innerHeight-10 || scrX>innerWidth+10 || scrY>innerHeight+10){
   scrX = innerWidth;
   scrY = innerHeight;
   initFoldout();
  }
 };
}

//object constructor...
function makeMenu(obj,nest){
 nest= (!nest)?"":'document.'+nest+'.';
 this.el= bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):document.getElementById(obj);
    this.css= bw.ns4?this.el:this.el.style;
 this.ref= bw.ns4?this.el.document:document;
 this.x= (bw.ns4||bw.opera5)?this.css.left:this.el.offsetLeft;
 this.y= (bw.ns4||bw.opera5)?this.css.top:this.el.offsetTop;
 this.h= (bw.ie||bw.ns6)?this.el.offsetHeight:bw.ns4?this.ref.height:bw.opera5?this.css.pixelHeight:0;
    this.vis= b_vis;
 this.hideIt= b_hideIt;
    this.showIt= b_showIt;
    this.moveIt= b_moveIt;
 return this
}
//object methods...
function b_showIt(){this.css.visibility='visible'}
function b_hideIt(){this.css.visibility='hidden'}
function b_vis(){if(this.css.visibility=='hidden' || this.css.visibility=='HIDDEN' || this.css.visibility=='hide') return true;}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x+px; this.css.top=this.y+px}

  1. Hi,

    im folgenden code liegt irgendwo der hund begraben, dass das menü zwar im IE fehlerfrei, aber im NS7 bzw. Firefox gar nicht angezeigt wird!
    woran kann das liegen?

    Dies:

    this.ver=navigator.appVersion
    this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;

    ist schonmal recht sinnfrei.

    freundliche Grüße
    Ingo

    1. was genau meinst du?`
      ich hatte schon folgendes hinzugefügt:

      this.ns7 = (this.dom && !this.ns6)?1:0;
      und dann noch
      .... "|| this.ns7"

      aber das hat auch nichts gebracht!

      kann es sein, dass es visibility liegt? dass

      lg
      jari

      p.s.: barrierefreies webdesign? das bild auf der homepage siet echt TOLL aus und passt perfekt zu barrierefrei!
      ich hatte erst diese woche eine prüfung über barrierefreies gestalten der umwelt! ein SEHR interessantes thema!

      1. Hi,

        was genau meinst du?

        daß dieser Browsercheck nicht sinnvoll ist, insb. die Abfrage des UserAgents. Frage die benötigten Methoden ab.
        `

        kann es sein, dass es visibility liegt? dass

        glaube ich kaum. Z.B. habe ich auch noch this.h= (bw.ie||bw.ns6)? entdeckt...
        Du solltest wirklich die Browserabfragen komplett rausnehmen und nur noch die Methoden prüfen.

        p.s.: barrierefreies webdesign? das bild auf der homepage siet echt TOLL aus und passt perfekt zu barrierefrei!

        Freut mich. Ist übrigens ein spiegelbildlich verdoppelter Ausschnitt eines Fotos, das ich auf Thassos gemacht hatte.

        freundliche Grüße
        Ingo