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