BenCC: Opera ladet das Menu nicht gleich richtig

Beitrag lesen

Hallo Leute,

auf meiner Website www-benedikt-cholewa.de.vu habe ich ein Menu, das mit JavaScript realisiert ist. Im IE und NN wird das Menu ordnungsgemäß geladen und dargestellt. Wenn ich meine Site im Opera-Browser betrachten will, dann wird zwar die Menuleiste angezeigt, aber man kann nicht die Menueinträge auswählen. Erst ein Klick auf Start/Home lässt das Menü ordungsgemäß funktionieren. Diesen Umstand würde ich gern beheben.

Meine Frage: Weiss jemand von Euch, was ich dagegen machen könnte? Ich schicke Euch den Code der Datei, in der das Menu eingebaut ist.

<html> <title><Public Website of Benedikt Cholewa></title> <script type="text/javascript"> timer=false  // Variable für timeout

bildhoehe_hmnu = 24 //Alle bilder des Hauptmenues gleich hoch

//abstand zwischen den Grafiken(horizontal und vertikal) abstand= startwertx=15  // x Position an der das Hauptmenue beginnt

naviframe="nav" // Hier den Namen des Navigationsframes vergeben mainframe="main"  //Hier den Namen des Hauptframes vergeben

//Ab hier die Menues füllen. // es wird für jeden menuepunkt je eine Grafik für den //Normalzustand und für den Hooverzustand benötigt //die beiden grafiken haben den gleichen Namen + "_norm" für //die normale Grafik und "_akt" für die Hoovergrafik //Beispiel: home_norm.gif und home_akt.gif

//die beiden ersten Eintraege jeweils für das Hauptmenue

//1.Name der Normalen grafik(ohne "_norm" und ".gif" //2.Für Menuepunkte ohne Untermenue eine Seite auf die gelinkt wird //bzw. für Menuepunkte mit untermenue "javascript:void()" //ab dem Dritten Eintrag dann folgen die Untermenuepunkte in gleichem Schema //1. name der grafik, Name der Seite auf die gelinkt wird.

menues=new Array() menues[0]=new Array("bilder/mStart","javascript:void(0)" ,"bilder/sHome" ,"start.htm", "bilder/sProfil" ,"profil.htm")

menues[1]=new Array("bilder/mFavoriten","javascript:void(0)" ,"bilder/fBayern3" ,"http://www.bayern3.de|fremd", "bilder/fFormblitz" ,"http://www.formblitz.de|fremd","bilder/fMap24" ,"http://www.map24.de|fremd","bilder/fMeinestadt" )

menues[2]=new Array("bilder/mWissen","javascript:void(0)","bilder/wAccess","http://www.fullaccess.de|fremd","bilder/wExcel","http://www.excel-center.de/index.php|fremd","bilder/wOutlook","http://www.holert.com/outlook/tutorial|fremd","bilder/wPowerPoint","http://www.uni-tuebingen.de/zdv/kursanleitungen/power-point-2000/|fremd","bilder/wWord","http://www.office-online-schule.de/Word/word.html|fremd","bilder/wWindows","http://www.microsoft.com/germany/windows/|fremd","bilder/wKnoppix","http://www.knoppix.org/|fremd","bilder/wSuSE","http://www.suse.de|fremd","bilder/wSQL","http://123.koehntopp.de/kris/artikel/mysql-einfuehrung/|fremd","bilder/wASP","http://www.netzwelt.com/selfhtml/intro/technologien/asp.htm|fremd")

menues[3]=new Array("bilder/mExtras","javascript:void(0)","bilder/eChat","http://benedikt-cholewa.freeweb4you.de/chat.htm|fremd","bilder/eEmail","email.htm","bilder/eGaestebuch","guestbook.php", "bilder/eImpressum","impressum.htm")

//Ab hier werden die grafiken vorgeladen

tempbild=new Array() for(i=0;i<menues.length;i++) { for(xi=0;xi<menues[i].length-1;xi=xi+2) { x=tempbild.length tempbild[x]=new Array(new Image(),new Image()) tempbild[x][0].src=menues[i][xi]+"_norm.gif" tempbild[x][1].src=menues[i][xi]+"_akt.gif" } }

//Function zum erstellen des Hauptmenues:

function hmnu_erstellen() {

for(i=0;i<menues.length;i++) { ziel=mainframe teiler=menues[i][1].split("|") if(teiler.length>1) ziel="_blank"

if(document.layers) self.frames[naviframe].document.write( '<layer name="hmnu'+i+'" visibility="show">') else self.frames[naviframe].document.write( '<div id="hmnu'+i+'" style="position:absolute;left:0;visibility:visible;">')

self.frames[naviframe].document.write('<a href="'+teiler[0]+'" target="'+ziel+'" onmouseover="parent.bw_hmnu('+i+',1)" onmouseout="parent.bw_hmnu('+i+',0)">') self.frames[naviframe].document.write('<img src="'+menues[i][0]+'_norm.gif"  border="0" name="hmnubild'+i+'"></a>') if(document.layers) self.frames[naviframe].document.write('</layer>') else self.frames[naviframe].document.write('</div>') } } //Function für den Bildwechsel im Hauptmenue und das Anzeigen der Untermenues

function bw_hmnu(nr,zustand) { if(zustand==1) endung="_akt" else endung="_norm"

if(document.layers) self.frames[naviframe].document.layers['hmnu'+nr].document.images['hmnubild'+nr].src = menues[nr][0]+endung+".gif" else self.frames[naviframe].document.images['hmnubild'+nr].src=menues[nr][0]+endung+".gif" if(zustand==1) { clearTimeout(timer) umnu_weg() umnu_zeigen(nr) } else timer=setTimeout("umnu_weg()",2000) //Timeout bestimmt die Zeit ab der das Untermenue wieder versteckt wird }

// Function zum verstecken der Untermenues function umnu_weg() { for(i=0;i<menues.length;i++) { if(document.all) { if(self.frames[mainframe].document.all["umnu"+i]) self.frames[mainframe].document.all["umnu"+i].style.visibility="hidden" }

if(document.layers) { if(self.frames[mainframe].document.layers["umnu"+i]) self.frames[mainframe].document.layers["umnu"+i].visibility="hide" }

if(document.getElementById) { if(self.frames[mainframe].document.getElementById("umnu"+i)) self.frames[mainframe].document.getElementById("umnu"+i).style.visibility="hidden" }

} }

//function zum Anzeigen des entsprechenden Untermenues function umnu_zeigen(nr) { if(document.all) { if(self.frames[mainframe].document.all["umnu"+nr]) { self.frames[mainframe].document.all["umnu"+nr].style.left = parseInt(self.frames[naviframe].document.all["hmnu"+nr].offsetLeft)+parseInt( self.frames[mainframe].document.body.scrollLeft) self.frames[mainframe].document.all["umnu"+nr].style.top = parseInt( self.frames[mainframe].document.body.scrollTop) self.frames[mainframe].document.all["umnu"+nr].style.visibility="visible" } } if(document.layers) { if(self.frames[mainframe].document.layers["umnu"+nr]) {

self.frames[mainframe].document.layers["umnu"+nr].left = parseInt(self.frames[naviframe].document.layers["hmnu"+nr].left) +parseInt(self.frames[mainframe].pageXOffset) self.frames[mainframe].document.layers["umnu"+nr].top = parseInt(self.frames[mainframe].pageYOffset) self.frames[mainframe].document.layers["umnu"+nr].visibility="show" } } if(document.getElementById&&!document.all) { if(self.frames[mainframe].document.getElementById("umnu"+nr)) { self.frames[mainframe].document.getElementById("umnu"+nr).style.left = parseInt(self.frames[naviframe].document.getElementById("hmnu"+nr).offsetLeft) +parseInt( self.frames[mainframe].pageXOffset) self.frames[mainframe].document.getElementById("umnu"+nr).style.top = parseInt( self.frames[mainframe].pageYOffset) self.frames[mainframe].document.getElementById("umnu"+nr).style.visibility="visible" } } }

//untermenues erstellen function umnu_erstellen() { for(i=0;i<menues.length;i++) {

if(document.layers) self.frames[mainframe].document.write( '<layer name="umnu'+i+'" left="0" visibility="hide">') else self.frames[mainframe].document.write( '<div id="umnu'+i+'" style="position:absolute;left:0;visibility:hidden;">') self.frames[mainframe].document.write('<table border="0" cellspacing="1" cellpadding="0">') for(xi=2;xi<menues[i].length-1;xi=xi+2) { ziel=mainframe teiler=menues[i][xi+1].split("|") if(teiler.length>1) ziel="_blank"

self.frames[mainframe].document.write('<tr> <td><a href="'+teiler[0]+'" target="'+ziel+'" onmouseover="parent.bw_umnu('+i+','+xi+',1)" onmouseout="parent.bw_umnu('+i+','+xi+',0)">') self.frames[mainframe].document.write('<img src="'+menues[i][xi]+'norm.gif" border="0" name="umnubild'+i+''+xi+'"></a></td></tr>') } if(document.layers) self.frames[mainframe].document.write( '</table></layer>') else self.frames[mainframe].document.write( '</table></div>') } } //Function zum Bildwechsel der Untermenues function bw_umnu(xnr,nr,zustand) { if(zustand==1) { clearTimeout(timer) endung="akt" } else { timer=setTimeout("umnu_weg()",2000) endung="norm" } if(document.layers) self.frames[ mainframe ].document.layers['umnu'+xnr].document.images['umnubild'+xnr+''+nr].src = menues[xnr][nr]+endung+".gif" else self.frames[ mainframe ].document.images['umnubild'+xnr+''+nr].src=menues[xnr][nr]+endung+".gif" }

//function zum Positionieren des Hauptmenues an den unteren Rand der Naviseite function pos_hmnu(nr) { if(document.all) { // hier positionieren des Hauptmenues // hier : am unteren rand startypos = parseInt(self.frames[naviframe].document.body.clientHeight)-bildhoehe_hmnu

//bzw. am oberen rand oder willkürlich // dazu einfach einen wert angeben //startypos =0 //bzw. einen anderen wert

self.frames[naviframe].document.all['hmnu'+nr].style.top=startypos if(nr==0) self.frames[naviframe].document.all['hmnu'+nr].style.left=startwertx else self.frames[naviframe].document.all['hmnu'+nr].style.left=parseInt(self.frames[naviframe].document.all['hmnu'+(nr-1)].offsetWidth)+parseInt(self.frames[naviframe].document.all['hmnu'+(nr-1)].offsetLeft) }

if(document.layers) { // hier positionieren des Hauptmenues // hier : am unteren rand startypos = parseInt(self.frames[naviframe].innerHeight)-bildhoehe_hmnu //bzw. am oberen rand oder willkürlich // dazu einfach einen wert angeben //startypos =0 //bzw. einen anderen wert self.frames[naviframe].document.layers['hmnu'+nr].top=startypos

if(nr==0) self.frames[naviframe].document.layers['hmnu'+nr].left=startwertx else self.frames[naviframe].document.layers['hmnu'+nr].left=parseInt(self.frames[naviframe].document.layers['hmnu'+(nr-1)].document.width)+ parseInt(self.frames[naviframe].document.layers['hmnu'+(nr-1)].left) }

if(document.getElementById&&!document.all) { // hier positionieren des Hauptmenues // hier : am unteren rand startypos = parseInt(self.frames[naviframe].innerHeight)-bildhoehe_hmnu //bzw. am oberen rand oder willkürlich // dazu einfach einen wert angeben //startypos =0 //bzw. einen anderen wert self.frames[naviframe].document.getElementById('hmnu'+nr).style.top=startypos

if(nr==0) self.frames[naviframe].document.getElementById('hmnu'+nr).style.left=startwertx else self.frames[naviframe].document.getElementById('hmnu'+nr).style.left=parseInt(self.frames[naviframe].document.getElementById('hmnu'+(nr-1)).offsetWidth)+parseInt(self.frames[naviframe].document.getElementById('hmnu'+(nr-1)).offsetLeft)

} } function ini() { for(i=0;i<menues.length;i++) { pos_hmnu(i) } }

</script>

<frameset framespacing="0" border="0" frameborder="0" cols="2%,*,2%">

<frame name="SeiteLinks" target="Hauptframe" scrolling="no" noresize src="seiten.htm">

<frameset rows="4%,5%,87%,4%">

<frame name="SeiteOben" scrolling="no" noresize src="seiten.htm" target="_self">

<frame name="nav" id="nav" scrolling="no" noresize src="oben.htm">

<frame name="main" id="main" scrolling="auto" noresize src="start.htm">

<frame name="SeiteUnten" scrolling="no" noresize src="unten.htm" target="_self">

</frameset>

<frame name="SeiteRechts" target="Hauptframe" scrolling="no" noresize src="seiten.htm">

<noframes>

<body>

<p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht

unterstützt.</p>

</body>

</noframes>

</frameset> </html>

PS: Die Grafiken habe eine Größe von 120 x 15 Pixel.

Für Eure tipps bedanke ich mich im Voraus.

mfg BenCC