HELP - Warum funktioniert mein Menü nicht ?
Joern Heller
- javascript
Hallo ,
Ich habe gerade ein Javascrip Menü in meine Page eingebunden. Aber wie Ihr auf meiner Website sehn könnt funktioniert es nicht !
Ich habe es offlin egestest das funzt alles prima aber nach dem FTP upload ins Netz sieht es so aus !!
heir der Quellcode :
der links.html von meiner Page
<html> <head> <title>links</title>
</head> <body background="stars2.gif" text="#00A0FF" link="#00C0FF" alink="#00C0FF" vlink="#00C0FF">
<br><br> <a href="http://phelanward.bei.t-online.de/"target="_top"><font color="#00A0FF"><font face="MS Sans Serif">Home</font></font></a><p></p> <br><br><br><br><br><br><br><br>
<style type="text/css"> <!-- a:link { text-decoration:none; font-weight:bold; color:#E0000; } a:visited { text-decoration:none; font-weight:bold; color:#00A0FF; } a:hover { text-decoration:none; font-weight:bold; background-color:#FFFF00; } a:active { text-decoration:none; font-weight:bold; background-color:#0000FF; } --> </style> <title>Text des Titels</title>
<body onload="init()"> <table border="0" cellpadding="4" cellspacing="3" width="100%"> <tr> <td align="left" width="20%" height="70"> <style> DIV.clTop {position:absolute; width:170} DIV.clSub {position:absolute; left:25; width:170;} #divCont {position:relative; left:1; height:200; width:170;} A.clMain {font-family:Arial, Verdana, Helvetica, Helv; font-size:14px; text-decoration:none; font-weight:bold; color:black;} A.clSubb {font-family:Arial, Verdana, Helvetica, Helv; font-size:14px; text-decoration:none; color:black;} #divMain {position:absolute;} </style>
<script language="JavaScript"> <!-- var stayFolded=false var exImg=new Image(); exImg.src='dsmh.gif' var unImg=new Image(); unImg.src='usm.gif' var n = (document.layers) ? 1:0; var ie = (document.all) ? 1:0; var browser=((n || ie) && parseInt(navigator.appVersion)>=4)
function makeMenu(obj,nest){ nest=(!nest) ? '':'document.'+nest+'.' this.css=(n) ? eval(nest+'document.'+obj):eval('document.all.'+obj+'.style') this.ref=(n) ? eval(nest+'document.'+obj+'.document'):eval('document'); this.height=n?this.ref.height:eval(obj+'.offsetHeight') this.x=(n)? this.css.left:this.css.pixelLeft;this.y=(n)? this.css.top:this.css.pixelTop; this.hideIt=b_hideIt; this.showIt=b_showIt; this.vis=b_vis; this.moveIt=b_moveIt return this } 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=="hide") return true;} function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}
function init(){ oTop=new Array() oTop[0]=new makeMenu('divTop1','divCont') oTop[1]=new makeMenu('divTop2','divCont') oTop[2]=new makeMenu('divTop3','divCont') oTop[3]=new makeMenu('divTop4','divCont') oTop[4]=new makeMenu('divTop5','divCont') oTop[5]=new makeMenu('divTop6','divCont') oSub=new Array() oSub[0]=new makeMenu('divSub1','divCont.document.divTop1') oSub[1]=new makeMenu('divSub2','divCont.document.divTop2') oSub[2]=new makeMenu('divSub3','divCont.document.divTop3') oSub[3]=new makeMenu('divSub4','divCont.document.divTop4') oSub[4]=new makeMenu('divSub5','divCont.document.divTop5') oSub[5]=new makeMenu('divSub6','divCont.document.divTop6') for(i=0;i<oSub.length;i++){ oSub[i].hideIt() } for(i=1;i<oTop.length;i++){ oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height) } } function menu(num){ if(browser){ if(!stayFolded){ for(i=0;i<oSub.length;i++){ if(i!=num){ oSub[i].hideIt() oTop[i].ref["imgA"+i].src=unImg.src } } for(i=1;i<oTop.length;i++){ oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height) } } if(oSub[num].vis()){ oSub[num].showIt() oTop[num].ref["imgA"+num].src=exImg.src }else{ oSub[num].hideIt() oTop[num].ref["imgA"+num].src=unImg.src } for(i=1;i<oTop.length;i++){ if(!oSub[i-1].vis()) oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height+oSub[i-1].height) else oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height) } } } // --> </script>
<div id="divCont"> <div id="divTop1" class="clTop"><a href="nix.html" target="haupt" onclick="menu(0); return false" class="clMain"> <img src="usm.gif" name="imgA0" alt="" border="0">Seti@Home</a><br> <div id="divSub1" class="clSub"> <a href="was-ist-seti.html" target="haupt" class="clSubb">Was ist Seti?</a><br> <a href="teleskop.html" target="haupt" class="clSubb">Das Telekop</a><br> </div> </div> <div id="divTop2" class="clTop"><a href="nix.html" target="haupt" onclick="menu(1); return false" class="clMain"> <img src="usm.gif" name="imgA1" alt="" border="0">Seti und Ich</a><br> <div id="divSub2" class="clSub"> <a href="system-und-ich.html" target="haupt" class="clSubb">Mein System</a><br> <a href="ich.html" target="haupt" class="clSubb">Kontakt</a><br> </div> </div> <div id="divTop3" class="clTop"><a href="nix.html" target="haupt" onclick="menu(2); return false" class="clMain"> <img src="usm.gif" name="imgA2" alt="" border="0">Omegafaktor</a><br> <div id="divSub3" class="clSub"> <a href="subteam.html" target="haupt" class="clSubb">Das Team </a><br> <a href="anleitung.html" target="haupt" class="clSubb">Seti Anleitung</a><br> </div> </div> <div id="divTop4" class="clTop"><a href="nix.html" target="haupt" onclick="menu(3); return false" class="clMain"> <img src="usm.gif" name="imgA3" alt="" border="0">Links</a><br> <div id="divSub4" class="clSub"> <a href="andere-seiten.html" target="haupt" class="clSubb">Links</a><br> <a href="nix.html" target="haupt" class="clSubb">non Computer </a><br> </div> </div> <div id="divTop5" class="clTop"><a href="nix.html" target="haupt" onclick="menu(4); return false" class="clMain"> <img src="usm.gif" name="imgA4" alt="" border="0">Counter</a><br> <div id="divSub5" class="clSub"> <a href="counter.html" target="haupt" class="clSubb">Statistik</a><br> <a href="nix.html" target="haupt" class="clSubb">inaktiv</a><br> </div> </div> <div id="divTop6" class="clTop"><a href="nix.html" target="haupt" onclick="menu(5); return false" class="clMain"> <img src="usm.gif" name="imgA5" alt="" border="0">inaktiv</a><br> <div id="divSub6" class="clSub"> <a href="nix.html" target="haupt" class="clSubb">inaktiv</a><br> <a href="nix.html" target="haupt" class="clSubb">inaktiv</a><br> </div> </div> </div> </td> </tr> </table>
<div align="left"><font size="-1"><font color="#808080">Letzte Änderung am</font><br><font color="#C0C0C0">30.06.2002</font></font></font></div>
</html>
hi
was du da gebaut hast sieht erstmal wahnsinnig umständlich aus und dann kann es schonmal grundsätzlich nur in Netscape _4_ und MSIE funktionieren.
Zum <style> nochwas: Das gehört _immer_ in den Head und Längen brauchen eine Einheit!
Ich habe jetzt keinen nerv das da alles umzubauen, aber wenn du die Objekte mit document.getElementById("foo") ansprichst (statt document.all.foo) gehts in weitaus mehr Browsern.
Was willst du da eigentlich erreichen? Ich wage mal zu behaupten, dass das _deutlich_ einfacher geht.
Grüße aus Bleckede
Kai
Hallo,
Was ich erreichen will habe ich ja was hinbekommen
Nur ist in meinem Menü die Menüpunkte "unsichtbar"
Warum ?
Wie längen brauchen eine Einheit, was für längen ?
So im head is jeze alles udn auch so habe ich ein bissel
was umgestellt aber funzen tut es nicht.
Wenn Du Dir Morgen Zeit für mich nehmen könntest
wäre ich Happy :-)
Gruß
Joern
hi
was du da gebaut hast sieht erstmal wahnsinnig umständlich aus und dann kann es schonmal grundsätzlich nur in Netscape _4_ und MSIE funktionieren.
Zum <style> nochwas: Das gehört _immer_ in den Head und Längen brauchen eine Einheit!
Ich habe jetzt keinen nerv das da alles umzubauen, aber wenn du die Objekte mit document.getElementById("foo") ansprichst (statt document.all.foo) gehts in weitaus mehr Browsern.
Was willst du da eigentlich erreichen? Ich wage mal zu behaupten, dass das _deutlich_ einfacher geht.
Grüße aus Bleckede
Kai
Sorry für mein wildes und falsches geschreibsel gerade.
Hier nochmal die verbesserte Version :-)
Was ich erreichen will habe ich ja fast hinbekommen
Nur sind in meinem Menü die Menüpunkte "unsichtbar"
Warum ?
Wie längen brauchen eine Einheit, was für längen meinst Du?
So im head is jeze alles und auch so habe ich ein bissel
was umgestellt aber funzen tut es nicht.
Ich muss zugeben das ich das ganze Style in meinen Quelltext
hineinkopiert habe, und dann auf meine Page angepasst.
Wenn Du Dir Morgen Zeit für mich nehmen könntest
wäre ich Happy.Ich möchte es ja irgendwann mal
lernen :-)
Gruß
Joern
hi
was du da gebaut hast sieht erstmal wahnsinnig umständlich aus und dann kann es schonmal grundsätzlich nur in Netscape _4_ und MSIE funktionieren.
Zum <style> nochwas: Das gehört _immer_ in den Head und Längen brauchen eine Einheit!
Ich habe jetzt keinen nerv das da alles umzubauen, aber wenn du die Objekte mit document.getElementById("foo") ansprichst (statt document.all.foo) gehts in weitaus mehr Browsern.
Was willst du da eigentlich erreichen? Ich wage mal zu behaupten, dass das _deutlich_ einfacher geht.
Grüße aus Bleckede
Kai
hi
#include <rechtschreibdeutung>
Was ich erreichen will habe ich ja was hinbekommen
was isses denn? Wenn du einfach nur 'nen Menü willst, geht das mit maximal 2-3 Zeilen JS und ohne den Roman da!
Wie längen brauchen eine Einheit, was für längen ?
left:37px; statt left:37;
Grüße aus Bleckede
Kai
Hi Kai ,
Ich habe mich ja ein paar min. Später entschuldigt das
ich so einen mist geschreiben habe .
steht ja unten im lezten post von mir
Oki :-) ?
Die Site funzt jeze einigermaßen auch wennich noch ein bissl aufräumen muss !
hi
#include <rechtschreibdeutung>
Was ich erreichen will habe ich ja was hinbekommen
was isses denn? Wenn du einfach nur 'nen Menü willst, geht das mit maximal 2-3 Zeilen JS und ohne den Roman da!
Wie längen brauchen eine Einheit, was für längen ?
left:37px; statt left:37;
Grüße aus Bleckede
Kai
hi
Die Site funzt jeze einigermaßen auch wennich noch ein bissl aufräumen muss !
nö, tut sich nichtmal ansatzweise - willste Screenshot?
Übrigens hast du meine Vorschläge samt und sonders ignoriert, wieso fragst du dann hier? Ich hab' das nicht geschrieben, weil ich's lustig finde, sondern um deine Seite "in Gang" zu bringen..
Grüße aus Bleckede
Kai
Hallo Kai,
laß es gut sein, der Bub will wohl weder nachdenken noch nachbessern noch nachlesen :-(
Gruß der_bernd
Hi,
Also bei mir geht sie,
Wenn Du willst ein Screenshot wäre gut - ist mein ersnt .
hast Du IE 6.0 oder Netscape ?
Deine Vorschläge habe ich nicht ignoriert und ich bin
Dir wirklich Dankbar das Du mir helfen willst.
Aber es Dauert nunmal das alles zu ändern .
Gruß
Joern
nö, tut sich nichtmal ansatzweise - willste Screenshot?
Übrigens hast du meine Vorschläge samt und sonders ignoriert, wieso fragst du dann hier? Ich hab' das nicht geschrieben, weil ich's lustig finde, sondern um deine Seite "in Gang" zu bringen..
Grüße aus Bleckede
Kai
hi
hast Du IE 6.0 oder Netscape ?
außer MSIE kann ich mit so einigem dienen.....
<img src="http://linuxfaqs.de/self/p1-moz.png" border=0 alt="">
Mozilla 1.1 (in Netscape 6 und co siehts wohl genauso aus)
<img src="http://linuxfaqs.de/self/p1-op.png" border=0 alt="">
Opera 6.01
<img src="http://linuxfaqs.de/self/p1-nn4.png" border=0 alt="">
Netscape 4.77
<img src="http://linuxfaqs.de/self/p1-konq.png" border=0 alt="">
konqueror 3.0.2 (der "Linux-IE")
<img src="http://linuxfaqs.de/self/p1-amaya.png" border=0 alt="">
Amaya 6.1 (W3C eigener Browser nicht JS-Fähig, kann aber CSS1!)
...ich hoffe mal, dass alle links passen ;)
Grüße aus Bleckede
Kai
hallo Joern,
Deine Vorschläge habe ich nicht ignoriert und ich bin Dir wirklich Dankbar das Du mir helfen willst.
vielleicht nicht ignoriert, aber verstanden hast du sie nicht.
So, und weil dieser Thread einerseits zeigt, wieviel Geduld Kai bereits mit dir verbraucht hat und wie wenig du derzeit davon umsetzen kannst, hab ich dir deine Seite korrigiert. Ich hänge den gesamten Code unten an, was für meine Art, postings hier zu schreiben, höchst ungewöhnlich ist. Schau dir das genau an - der Header ist da, wo er hingehört, style- und script-Bereiche sind da, wo sie hingehören. Nebenbei ist deine Tabelle rausgeflogen, die brauchtest du ja auch nicht. Das gesamte Ding funktioniert aber ausschließlich mit dem Internet Explorer, alle anderen Browser zeigen so etwas ähnliches wie Kais Screenshots. Das hängt damit zusammen, daß im Javascript-Bereich diese Zeilen drinstehen: var n = (document.layers) ? 1:0; var ie = (document.all) ? 1:0; var browser = ((n || ie) && parseInt(navigator.appVersion)>=4) Das ist eine sogenannte "Browserweiche", und sie ist in dieser Form völlig unnütz. Bloß hab ich keine Lust mehr, das auch noch zu korrigieren.
Ich kann ja verstehen, daß dir dieses Menü gefällt. Aber du hast es eben nicht selbst geschrieben, sondern irgendwo "geborgt", und im Grunde genommen überhaupt nicht verstanden. Man könnte davon immer noch ungefähr 20 Prozent "eindampfen", aber vor allem solltest du erstmal zu verstehen versuchen, wie das Ding funktioniert.
So, also hier kommt deine korrigierte Seite (und denk dran: das Menü funktioniert nur im IE!)
Christoph S.
=========================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>links</title>
<script type="text/javascript"> var stayFolded = false; var exImg = new Image(); exImg.src='dsmh.gif'; var unImg = new Image(); unImg.src='usm.gif'; var n = (document.layers) ? 1:0; var ie = (document.all) ? 1:0; var browser = ((n || ie) && parseInt(navigator.appVersion)>=4);
function makeMenu(obj,nest){ nest=(!nest) ? '':'document.'+nest+'.' this.css=(n) ? eval(nest+'document.'+obj):eval('document.all.'+obj+'.style') this.ref=(n) ? eval(nest+'document.'+obj+'.document'):eval('document'); this.height=n?this.ref.height:eval(obj+'.offsetHeight') this.x=(n)? this.css.left:this.css.pixelLeft;this.y=(n)? this.css.top:this.css.pixelTop; this.hideIt=b_hideIt; this.showIt=b_showIt; this.vis=b_vis; this.moveIt=b_moveIt return this }
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=="hide") return true; } function b_moveIt(x,y){ this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y }
function init(){ oTop=new Array() oTop[0]=new makeMenu('divTop1','divCont') oTop[1]=new makeMenu('divTop2','divCont') oTop[2]=new makeMenu('divTop3','divCont') oTop[3]=new makeMenu('divTop4','divCont') oTop[4]=new makeMenu('divTop5','divCont') oTop[5]=new makeMenu('divTop6','divCont') oSub=new Array() oSub[0]=new makeMenu('divSub1','divCont.document.divTop1') oSub[1]=new makeMenu('divSub2','divCont.document.divTop2') oSub[2]=new makeMenu('divSub3','divCont.document.divTop3') oSub[3]=new makeMenu('divSub4','divCont.document.divTop4') oSub[4]=new makeMenu('divSub5','divCont.document.divTop5') oSub[5]=new makeMenu('divSub6','divCont.document.divTop6') for(i=0;i<oSub.length;i++){ oSub[i].hideIt() } for(i=1;i<oTop.length;i++){ oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height) } } function menu(num){ if(browser){ if(!stayFolded){ for(i=0;i<oSub.length;i++){ if(i!=num){ oSub[i].hideIt() oTop[i].ref["imgA"+i].src=unImg.src } } for(i=1;i<oTop.length;i++){ oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height) } } if(oSub[num].vis()){ oSub[num].showIt() oTop[num].ref["imgA"+num].src=exImg.src }else{ oSub[num].hideIt() oTop[num].ref["imgA"+num].src=unImg.src } for(i=1;i<oTop.length;i++){ if(!oSub[i-1].vis()) oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height+oSub[i-1].height) else oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].height) } } } </script>
<style type="text/css"> div.clTop {position:absolute; width:170px} div.clSub {position:absolute; left:25px; width:170px;} #divCont {position:relative; left:1px; height:200px; width:170px;} #divMain {position:absolute;}
a:link { text-decoration:none; font-weight:bold; color:#0080FF; } a:visited { text-decoration:none; font-weight:bold; color:#00A0FF; } a:hover { text-decoration:none; font-weight:bold; background-color:#FFFF00; } a:active { text-decoration:none; font-weight:bold; background-color:#0000FF; } a.clMain {font-family:Arial, Verdana, Helvetica, Helv; font-size:10pt; text-decoration:none; font-weight:bold; color:#00A0FF;} a.clSubb {font-family:Arial, Verdana, Helvetica, Helv; font-size:10pt; text-decoration:none; color:#00A0FF;}
body { margin-top:12px; margin-left:12px; background-image:url(stars2.gif); } </style>
</head>
<body onload="init()">
<div style="position: absolute; top: 60px;"> <a href="http://phelanward.bei.t-online.de/"target="_top" class="clMain">Home</a> <p> </p> <p> </p> <p> </p>
<div id="divCont"> <div id="divTop1" class="clTop"><a href="" onclick="menu(0); return false" class="clMain"> <img src="usm.gif" name="imgA0" alt="" border="0">Seti@Home</a><br> <div id="divSub1" class="clSub"> <a href="was-ist-seti.html" target="haupt" class="clSubb">Was ist Seti?</a><br> <a href="teleskop.html" target="haupt" class="clSubb">Das Telekop</a><br> </div> </div> <div id="divTop2" class="clTop"><a href="" onclick="menu(1); return false" class="clMain"> <img src="usm.gif" name="imgA1" alt="" border="0">Seti und Ich</a><br> <div id="divSub2" class="clSub"> <a href="system-und-ich.html" target="haupt" class="clSubb">Mein System</a><br> <a href="ich.html" target="haupt" class="clSubb">Kontakt</a><br> </div> </div> <div id="divTop3" class="clTop"><a href="" onclick="menu(2); return false" class="clMain"> <img src="usm.gif" name="imgA2" alt="" border="0">Omegafaktor</a><br> <div id="divSub3" class="clSub"> <a href="subteam.html" target="haupt" class="clSubb">Das Team </a><br> <a href="anleitung.html" target="haupt" class="clSubb">Seti Anleitung</a><br> </div> </div> <div id="divTop4" class="clTop"><a href="" onclick="menu(3); return false" class="clMain"> <img src="usm.gif" name="imgA3" alt="" border="0">Links</a><br> <div id="divSub4" class="clSub"> <a href="andere-seiten.html" target="haupt" class="clSubb">Links</a><br> <a href="nix.html" target="haupt" class="clSubb">non Computer </a><br> </div> </div> <div id="divTop5" class="clTop"><a href="" onclick="menu(4); return false" class="clMain"> <img src="usm.gif" name="imgA4" alt="" border="0">Sonstiges</a><br> <div id="divSub5" class="clSub"> <a href="counter.html" target="haupt" class="clSubb">Statistik</a><br> <a href="http://www.1-2-3-gaestebuch.de/buch.gb?benutzer=omegafaktor" target="haupt" class="clSubb">Gästebuch</a><br> </div> </div> <div id="divTop6" class="clTop"><a href="" onclick="menu(5); return false" class="clMain"> <img src="usm.gif" name="imgA5" alt="" border="0">inaktiv</a><br> <div id="divSub6" class="clSub"> <a href="nix.html" target="haupt" class="clSubb">inaktiv</a><br> <a href="nix.html" target="haupt" class="clSubb">inaktiv</a><br> </div> </div> </div> </div>
<div style="position: absolute; bottom: 50px;"> <font size="-1" color="#808080">Letzte Änderung am</font><br><font color="#C0C0C0">30.06.2002</font> </div>
</body></html>
Hi Christoph,
erstmal Danke für die Zeit und Arbeit die Du investiert hast.
ich werde aufr jeden fall mir Euer geschriebens zu Herzen nehmem
und hier bei Self Htlm mit ein "bissel" merh wissen anlesen.
Gruß
Joern
Hallo ,
ist das vom reinen Aufbau ok ?
Darf man zwei Style Bereiche haben ?
Ist das </head> jeze richtig ?
Danke
Joern
hi
ist das vom reinen Aufbau ok ?
nein.
<html>
<head>
<style>
</style>
<script>
</script>
</head>
<body>
.....
</body>
</html>
Darf man zwei Style Bereiche haben ?
ja, macht aber keinen Sinn.
Grüße aus Bleckede
Kai
Hallo ,
Wie ist es dann richtig ?
Was sit falsch darf ich den </head> nicht
so weit unten machen ?
Danke für die Screenshot, sieht ja alles Super aus :-(
Och finde auf der links.html nichts der geleichen ?
Wi steht bei mir "document.all.foo" ?
aber wenn du die Objekte mit document.getElementById("foo") ansprichst (statt document.all.foo) gehts in weitaus mehr Browsern.<<
Danke
Joern
ist das vom reinen Aufbau ok ?
nein.
<html>
<head>
<style>
</style>
<script>
</script>
</head>
<body>
.....
</body>
</html>
Darf man zwei Style Bereiche haben ?
ja, macht aber keinen Sinn.
Grüße aus Bleckede
Kai
hi
Wie ist es dann richtig ?
das Script und die <style> gehören davor, alles andere dahinter.
Danke für die Screenshot, sieht ja alles Super aus :-(
offen gesagt: so wie der code.
Och finde auf der links.html nichts der geleichen ?
Wi steht bei mir "document.all.foo" ?
bei dir steht glaub' ich document.all."+obj+" o.ä. Das muss dann document.getElementById(obj) werden. Auch document.obj (oder so ähnlich) ist nicht erlaubt!
Grüße aus Bleckede
Kai
Hallo ,
Da sist der richtie abschnitt oder ?
Wo muss ich hier was ändern ?
<!--
var stayFolded=false
var exImg=new Image(); exImg.src='dsmh.gif'
var unImg=new Image(); unImg.src='usm.gif'
var n = (document.layers) ? 1:0;
var ie = (document.all) ? 1:0;
var browser=((n || ie) && parseInt(navigator.appVersion)>=4)
function makeMenu(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.css=(n) ? eval(nest+'document.'+obj):eval('document.all.'+obj+'.style')
this.ref=(n) ? eval(nest+'document.'+obj+'.document'):eval('document');
this.height=n?this.ref.height:eval(obj+'.offsetHeight')
this.x=(n)? this.css.left:this.css.pixelLeft;this.y=(n)? this.css.top:this.css.pixelTop;
this.hideIt=b_hideIt; this.showIt=b_showIt; this.vis=b_vis; this.moveIt=b_moveIt
return this
Wo steht bei mir "document.all.foo" ?
bei dir steht glaub' ich document.all."+obj+" o.ä. Das muss dann document.getElementById(obj) werden. Auch document.obj (oder so ähnlich) ist nicht erlaubt!
Grüße aus Bleckede
Kai
Hallo,
[x] Du moechtest http://learn.to/quote lesen.
Da sist der richtie abschnitt oder ?
Wo muss ich hier was ändern ?
[x] Du willst Dir SELFHTML oder ein beliebiges anderes sinnvolles
HTML-/JavaScript-Buch durchlesen und verstehen
<!--
var stayFolded=false
Hier fehlt ein Semikolon.
var exImg=new Image(); exImg.src='dsmh.gif'
Das sind zwei Arbeitsschritte. Also schreibe es auch bitte in zwei Zeilen.
var unImg=new Image(); unImg.src='usm.gif'
Dito.
var n = (document.layers) ? 1:0;
var ie = (document.all) ? 1:0;
var browser=((n || ie) && parseInt(navigator.appVersion)>=4)
*Sehr* unzureichend.
function makeMenu(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.css=(n) ? eval(nest+'document.'+obj):eval('document.all.'+obj+'.style')
Das eval() ist hier voellig ueberfluessig. Ich behaupte, eval() wird so nur
von Leuten eingesetzt, die kein JavaScript koennen.
this.ref=(n) ? eval(nest+'document.'+obj+'.document'):eval('document');
Dito.
this.height=n?this.ref.height:eval(obj+'.offsetHeight')
Dito.
this.x=(n)? this.css.left:this.css.pixelLeft;this.y=(n)? this.css.top:this.css.pixelTop;
Zwei Schritte, zwei Zeilen.
this.hideIt=b_hideIt; this.showIt=b_showIt; this.vis=b_vis; this.moveIt=b_moveIt
3 Schritte, 3 Zeilen.
return this
Semikolon und abschliessende Klammer fehlen.
Gruesse,
CK
hi
this.hideIt=b_hideIt; this.showIt=b_showIt; this.vis=b_vis; this.moveIt=b_moveIt
3 Schritte, 3 Zeilen.
4 sind's ;)
Hallo Joern,
vielleicht machst du dich zu allererst mal bischen drüber schlau, wie ein html dokument auszusehen hat.
Dein Probglem spielt sich ja in dem "links.html" ab, wenn ich das richtig verstanden habe und was da drin steht ist grauslich! Kurzer Auszug ("momentan" unwesentliches gelöscht, Anmerkungen in ??? eingeschloßen und auf mögliche Syntaxfehler übgerhauptnicht geachtet):
<html>
<head>
<title>links</title>
??? wo ist hier der </head> ???
<body background="stars2.gif" text="#00A0FF" >
...
<style type="text/css">
<!--
a:link { text-decoration:none; font-weight:bold; color:#0080FF; }
a:visited { text-decoration:none; font-weight:bold; color:#00A0FF; }
a:hover { text-decoration:none; font-weight:bold; background-color:#FFFF00; }
a:active { text-decoration:none; font-weight:bold; background-color:#0000FF; }
-->
</style>
??? was macht der style hier mitten im body ???
<title>Text des Titels</title>
??? und der title hier ???
<body onload="init()">
??? und warum schon wieder ein body ???
<table border="0" cellpadding="4" cellspacing="3" width="100%">
<tr>
<td align="left" width="20%" height="70">
??? und jetzt kommt nochmal ne Latte "style" und dein JS-Geraffel, was sucht das in der td ???
</script>
</head>
??? aha _jetzt_ ist der head zu ???
??? um dann ohne body etliche div's hinzuklatschen und dann irgendwann den begonnenen table zu schließen???
<div align="left"><font size="-1"><font color="#808080">Letzte Änderung am</font><br><font color="#C0C0C0">30.06.2002</font></font></font></div>
</html>
??? und wo hört der body auf ???
Alles in allem ein Wunder, daß irgendwelche Browser trotzdem was darstellen, auch wenn sie nur erraten können, was du bezwecken willst ;-)
Also mal noch bischen Hausaufgaben machen und die ganze Sache mal bischen ordentlich sortieren, dann sieht's vielleicht gleich viel freundlicher aus.
Gruß der_bernd
Hallo Joern,
wie's der Titel schon sagt, brems dich langsam mal ein und tu das was ich dir hier in diesem thread schon empfohlen habe und was du auch schon unter http://forum.de.selfhtml.org/?m=87828&t=15708 als Antwort von Christoph bekamst!
Auch wenn du in diesem thread zwei "dumme" glaubst gefunden zu haben, die dir für "lau" deine Quelltexte korrigieren - nee ! Schaffe _du_ die basics und komme dann wenn's klemmt gerne mit Detailfragen wieder hier her.
Fang einfach mal hier: http://selfhtml.teamone.de/ ganz vorne an und mach dich schlau. Wenn dir das online lesen zu teuer ist, kann man das ganze Teil auch runterladen: http://aktuell.de.selfhtml.org/extras/download.shtml oder als Buch erwerben: http://aktuell.de.selfhtml.org/extras/buch.htm
Gruß der_bernd
Hi der_Bernd
Ich glaube keines falls zwei "Dumme" gefunden zu haben.
Ich gebe zu das ich miz zu wenig wissen an die sache rangehe
aber ich durch die Hilfe von Kai lerne ich es ja auch.
Ich werde auf jedenfall mir noch einiges hier bei SelfHTML durchlesen müssen.
Es sei dazu gesagt da sich mich erst seit 1 Woche mit HTML beschäftige, und JS da wohl nicht das richtige Thema für mich sind.
Ich werde aber troz alledem weiter veruchen dieses verdammt JS Menü
auch auf anderen Browsern als MSIE zum laufen zu bekommen.
Gruß
Joern
Hallo Joern,
Auch wenn du in diesem thread zwei "dumme" glaubst gefunden zu haben, die dir für "lau" deine Quelltexte korrigieren - nee ! Schaffe _du_ die basics und komme dann wenn's klemmt gerne mit Detailfragen wieder hier her.
Gruß der_bernd
Hallo Joern,
Ich gebe zu das ich miz zu wenig wissen an die sache rangehe
aber ich durch die Hilfe von Kai lerne ich es ja auch.
Nun, das ist aber der falsche Weg zu lernen :) Zumindest hier. Wenn Du mit Hilfe
besser lernen kannst, bist Du in Kursen und Lehrgaengen besser aufgehoben. Hier
sind wir manchmal etwas ungeduldig mit Leuten, die etwas vorgekaut haben
moechten. :)
Ich werde auf jedenfall mir noch einiges hier bei SelfHTML durchlesen
müssen.
Warum machst du das nicht *vorher*? :) Das erspart Dir die Auseinandersetzung
mit den Leuten hier und Dir hilft es auch mehr: Du bekommst ein umfassenderes
Verstaendnis der Dinge, die Du da lernst. Denn wenn Du etwas selbst
erarbeitest und selbst erfasst, wird Dein Verstaendnis davon viel
tiefgreifender sein. Mal ganz zu schweigen von dem Erfolgserlebnis, dass man
hat, wenn etwas funktioniert, was man *selbst* ohne oder mit nur wenig fremder
Hilfe geschafft hat.
Es sei dazu gesagt da sich mich erst seit 1 Woche mit HTML beschäftige, und
JS da wohl nicht das richtige Thema für mich sind.
Richtig. Du solltest Dir zuerst das Basis-Wissen aneignen: wie funktioniert
das Zusammenspiel JavaScript <-> HTML-Elemente, inwiefern kann man mit
JavaScript in StyleSheets eingreifen, inwiefern wirkt sich das wiederum auf
die Darstellung aus, etc. Wenn Du diese Dinge begriffen hast, dann kannst Du
dich daran setzen und ein Konzept entwerfen. Dazu solltest Du Dir vielleicht
Fragen wie 'Was soll das Produkt eigentlich koennen? Unter welchen Umstaenden
soll das Produkt eingesetzt werden (Browser-Kompatiblitaet, kompatibel mit
Nicht-JS-Browsern, etc)? Welche Vorraussetzungen stelle ich an den Abnehmer?
In wieweit soll es weiterverwendbar sein?', etc. Wenn Du diese Fragen geklaert
hast, erstellst du ein grobes Ablauf-Diagramm. Das Ablauf-Diagramm verfeinerst
Du dann, bis du jeden Schritt, den es ausfuehrt, protokolliert hast. Zu
*diesem* Status kannst du hier gerne jederzeit Fragen stellen. Dann, ganz
zuletzt(!) setz Dich hin und schreibe den Code auf. Das, was bis hier noch
an Fragen ueberig bleibt, sollten reine Syntax-Fragen sein: die kannst Du
sehr leicht mit SELFHTML oder den entsprechenden Specs beantworten.
Wenn Du etwas mehr Uebung hast, wirst Du einige Schritte mehr oder weniger
gleichzeitig machen koennen, zumindest bei kleineren Programmen oder Scripten.
Aber gerade am Anfang, wenn man vorher noch nicht richtig programmiert hat,
hilft einem eine derartige Vorgehensweise ungemein.
Ich werde aber troz alledem weiter veruchen dieses verdammt JS Menü
auch auf anderen Browsern als MSIE zum laufen zu bekommen.
Gute Einstellung. Aufzugeben waere auch das Falscheste, was Du machen
koenntest. Aber versuche es ruhig mal mit einem kompletten Rewrite (sprich:
schmeiss' den bisherigen Code weg) und gehe so vor, wie ich es oben beschrieben
habe. Dann sollte es
a) wesentlich schneller gehen und
b) zu wesentlich weniger Problemen kommen.
Gruesse,
CK
hi bernd,
wie's der Titel schon sagt, brems dich langsam mal ein und tu das was ich dir hier in diesem thread schon empfohlen habe und was du auch schon unter http://forum.de.selfhtml.org/?m=87828&t=15708 als Antwort von Christoph bekamst!
du hast ja völlig recht. Und weil der Thread und die "Verständnisgrenzen" (vorsichtig formuliert) von Joern langsam die Kondition angreifen, hab ich mich erbarmt und unter das Ganze einen vorläufigen Schlußstrich gesetzt, siehe http://forum.de.selfhtml.org/?m=87969&t=15732
Grüße aus Berlin
Christoph S.