• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

alternativer Code?

Status
Für weitere Antworten geschlossen.

nifibue

Neues Mitglied
Hey Leute,

habe folgenden Code, der nicht funktioniert, aber ich hoffe einfach mal, dass ihr versteht, was ich wollte:

framework.js:
Code:
var alt = "home"
function wechsel(neu) {
document.getElementById(neu).className = neu + "I";

document.getElementById(alt).className = alt + "O";
alt = neu;
}
für neu können übergeben werden: home, platz, turniere

nav.css:
Code:
.homeI{
  background-image:url(homeI.png);
  width:250px;
  height:60px;
}
.homeO{
  background-image:url(homeO.png);
  width:200px;
  height:60px;
}
.platzI{
  background-image:url(platzI.png);
  width:200px;
  height:60px;
}
.platzO{
  background-image:url(platzO.png);
  width:200px;
  height:60px;
}
.turniereI{
  background-image:url(turniereI.png);
  width:200px;
  height:60px;
}
.turniereO{
  background-image:url(turniereO.png);
  width:200px;
  height:60px;
}

Ich will also immer ein Bildhintergrundwechsel hervorrufen, wenn man auf einen anderen Verweis als den bereits offenen klickt.
home ist als erstes offen, deswegen ist alt bereits home.
 
Was funktioniert daran genau nicht? Ich sehe momentan nur ein fehlendes Semikolon:

Code:
var alt = "home"[COLOR=Red];[/COLOR]
 
Fehlende Semikolons sind in JavaScript kein Problem, auch wenn sie empfohlen werden.

Ansonsten sieht das Script ok aus. Keine Ahnung, was daran nicht funktioniert.
 
http://nils.fischer.anna-sophianeum.net/

Dann würde ich auch noch mit
Code:
top.haupt.location= neu + ".html";
Die jeweilige Hauptseite öffnen, die ich jedoch noch auf home, platz und turniere umbenennen müsste.
Geht das echt, dass man da die Variablen einfach so reinschreibt?


Hier ein paar...teilweise auch überflüssige Dateien:
 

Anhänge

  • Banner.jpg
    Banner.jpg
    7,2 KB · Aufrufe: 1
  • Banner.gif
    Banner.gif
    8,2 KB · Aufrufe: 1
  • banner.txt
    banner.txt
    75 Bytes · Aufrufe: 0
  • haupt1.txt
    haupt1.txt
    91 Bytes · Aufrufe: 0
  • haupt2.txt
    haupt2.txt
    93 Bytes · Aufrufe: 0
  • haupt3.txt
    haupt3.txt
    93 Bytes · Aufrufe: 0
  • homeI.png
    homeI.png
    3,5 KB · Aufrufe: 0
  • homeO.png
    homeO.png
    3,6 KB · Aufrufe: 0
  • index.txt
    index.txt
    453 Bytes · Aufrufe: 0
  • links.txt
    links.txt
    69 Bytes · Aufrufe: 0
  • main.gif
    main.gif
    632 Bytes · Aufrufe: 0
  • nav.txt
    nav.txt
    557 Bytes · Aufrufe: 0
  • navcss.txt
    navcss.txt
    510 Bytes · Aufrufe: 0
  • platzI.jpg
    platzI.jpg
    1,8 KB · Aufrufe: 0
  • platzO.png
    platzO.png
    2,4 KB · Aufrufe: 0
Punkt 1: wenn Du schon Frames benutzt (wovon ich dir wie vermutlich die meisten anderen hier auch dringend abraten möchte) solltest Du wenigstens den Quellcode richtig schreiben: [Invalid] Markup Validation of http://nils.fischer.anna-sophianeum.net/ - W3C Markup Validator

Punkt 2: wieso benutzt Du Tabellen fürs Design? Und wieso positionierst Du diese absolut? Das 2 gute Gründe für Fehldarstellungen, deine Quellcodes bieten noch mehr Gründe ..

Punkt 3: zu deiner eigentlichen Frage: wenn Du

Code:
onclick="wechsel(home)"

schreibst wird logischerweise nichts passieren, auch nicht im Firefox wie man dort sehr schnell an der JavaScript-Konsole sieht. Bei dieser Art Funktionseinbindung wird angenommen, dass die JavaScript-Variable "home" weitergegeben wird:

a) die gibt es aber nicht
b) willst Du einen String übergeben.

Also schreib:

Code:
onclick="wechsel('home');"

dann übergibst Du zumindest diesen Wert schonmal richtig. Ob es dann was bringt kann ich auf Grund der o.g. anderen Fehler auf der Seite nicht sagen.
 
Gut, ich habe für den index erstmal die größten Fehler behoben, allerdings verstehe ich die letzten 3 Errors nicht.

Helft mir bitte.​
 
ja, habs jetzt ^^

Nur wie bekomme ich es hin, dass die Frames nicht von Grenzen durchzogen sind, sondern immer noch die Eigenschaften
framespacing="0" border="false" frameborder="0" hat?

Muss man das über css machen?
Und wenn ja, dann wie?
Es sollte ja auch für möglichst alle Browser gleich sein, allerdings soll es da ja große Unterschiede geben.
 
Code:
frameborder="0" framespacing="0" border="0"

musst du schon in deinen Code einfügen. Sollte der Validator dann meckern .. keine Ahnung. Ich verwende seit Jahren keine Frames, und würde auch dir davon abraten.
 
Okay, danke.

Warum wurde dann immer so begeistert über Frames gesprochen?
Ich meine, was bringen sie denn dann?

Werde, nachdem ich die Seite für die Schule fertiggestellt habe, auch immer validator-gerecht arbeiten.
Denke auch, das das wichtig ist.
 
:D Okay threadi,

danke, dass du mir den langen Weg über geholfen hast :)

Mal gucken, wann die nächste Lücke kommt :razz:

Bis demnächst

nils
 
Warum wurde dann immer so begeistert über Frames gesprochen?
Ich meine, was bringen sie denn dann?
Frames kommen aus einer Zeit, in der es noch kein CSS gab, keine Sprache, mit der man einfach aufwändige Layouts machen kann. Außerdem hat jeder Webmaster-Fuzzy grad mal HTML gekonnt, serverseitige Techniken waren noch nicht so weit verbreitet. Jeder Mensch von nebenan wollte Klickbunti-Homepages machen. Und das in Zeiten, wo DSL für die meisten noch ein Fremdwort war.
Da waren Frames die einfachste Möglichkeit, eine Seite in mehrere Bereiche aufzuteilen und dafür zu sorgen, dass nur der Content neu geladen wird. Für Modem-User u.U. eine ganz angenehme Sache.
Damals hat man noch keinen Wert darauf gelegt, dass Websites in allen Browsern barrierefrei funktionieren. Mangels CSS musste man außerdem HTML zu Layout- und Designzwecken vergewaltigen.

Ja, das waren harte Zeiten damals!

Heute ist man schlauer. Naja, zumindest einige. Seit 10 Jahren gibt es CSS, HTML kann man endlich wieder verwenden, wie es gedacht war. Frames hat man als überwiegend nutzerunfreundlich erkannt. Barrierefreiheit und Bedienbarkeit sind teilweise wichtiger als die Optik geworden.
Das WWW wird langsam so, wie man es sich damals eigentlich schon vorgestellt hat.
Aber einige unbeugsame Webmaster bleiben halt lieber in ihrer alten Klickbunti-Welt, als sich regelmäßig weiter zu bilden und gute Websites zu schreiben.

Werde, nachdem ich die Seite für die Schule fertiggestellt habe, auch immer validator-gerecht arbeiten.
Denke auch, das das wichtig ist.
Auf jeden Fall. Denn nur, wenn eine Seite fehlerfrei ist, kann garantiert werden, dass ein Client sie richtig verarbeiten kann.

Vergiss aber bei aller Validität nicht auch die Semantik, die HTML erst wirklich ausmacht.

Liebe Grüße,
-Efchen
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben