Java-script Fehler
-
Also ich binde in meine "start.htm" Seite eine Datei namens "menu.js" ein.
Es funktioniert alles auch einwandfrei, nur ein komischer Fehler tritt auf:
Wenn ich die Seite starte dann wird nicht der Seiteninhalt angezeigt sondern nur das Menü ohne css Angaben angezeigt. Wenn ich den Quellcode anzeigen lasse, wird in der Titel-Zeile nicht start.htm sondern F__Html_tests_Layouts_start[1]
Das ist der richtige Pfad zu meiner Datei, wenn man die _ durch ein / ersetzt und __ durch : ersetzt.
Allerdings verstehe ich nicht warum das [1] steht und warum überhaupt nicht start.htm steht.
Im Quellcode steht dann nur das, was mit dem Javascript per document.write erzeugt wurde.Hier jetzt einmal das Java-\1:
//Copyright by ... var menui = new Array(); var links = new Array(); menui[0] = new Array("Startseite"); links[0] = new Array("start.php"); menui[1] = new Array("Produkte", "Spiele > 15 €", "Spiele < 15 €", "Programme > 15 €", "Programme < 15 €"); links[1] = new Array("produkte.php", "spm15e.php", "spw15e.php", "prm15e.php", "prw15e.php"); menui[2] = new Array("Downloads", "Spiele", "Programme", "Java-Scripts", "Php-Scripts", "Flashfilme"); links[2] = new Array("downloads.php", "dsp.php", "dpr.php", "djs.php", "dphps.php", "dflash.php"); function init() { //Alle Initialisierungen var anzahl = menui.length; for(i=0; i<anzahl; i++) { //Haupt-menüpunkt erzeugen document.write('<img src="./Bilder/menu_logo.gif" width="15" height="15" alt="" border="0"><span id="menu'+i+'" class="mainitem"><a href='+links[i][0]+' target="_self">'+menui[i][0]+'</a></span>'); document.write('<table bgcolor="#FF0000" class="subitem">'); for(z=1; z<menui[i].length; z++) { document.write('<tr><td id="sub'+i+''+z+'" onmouseout="menu_out('+i+');" class="subitem" onclick="link_click('+i+','+z+');" onmouseover="highlightit('+i+','+z+'); menu_in('+i+')">'+menui[i][z]+'</td></tr>'); } document.write('</table>'); } } function menu_in(X) { //Wenn über einen Menüpunkt gefahren wird } function menu_out(X) { //Wenn ein Menüpunkt verlassen wird } function link_click(X,Y) { window.location.href=links[X][Y]; } function highlightit(X,Y) { //Beim darüberfahren ein Aufleuchten } window.setTimeout("init()",0);
Kann mir irgendjemand sagen wo hier der Fehler liegt?
Ich habe so etwas nämlich auch schon mal in einem anderen Menü verwendet.
-
Hallo,
Also wie ich das so sehe, dann kann das nicht funktionieren, weil:Du startest deine Funktion init() von der menu.js Datei.
Dadurch ist das Dokument, das du mit document.write ansprichst nicht mehr deine htm-Seite sondern ein eigenes Dokument.
Sicher willst du jetzt auch wissen, wie du dieses Problem beseitigen kanns:Schreibe einfach in den <body> Tag folgendes:
<script type="text/javascript"> <!-- init(); //--> </script>
ich schätze jetzt einfach mal, dass du die Datei vor diesem Tag einbindest.
Ich hoffe das hilft dir weiter.