Hallo alle miteinander,
ich habe mir eine kleine JS-Funktion geschrieben, welche eine DIV-Box auf dem Bildschirm positioniert. Hierzu bestimme ich die Positionen zweier anderer DIVs und verschiebe anschließend die Position meiner Box entsprechend.
Im FF 3.0 und 3.5 funktioniert es wunderbar und im Konqueror 3.5.10 ebenfalls.
Nun habe ich das Ganze gerade mit dem IE8 getestet und es semmelt (wie zu erwarten) voll vor die Wand.
Die Ursache dafür sind die folgenden Zeilen (wahrscheinlich eher der IE):
Die entsprechenden IDs existieren tatsächlich nur als IDs, es gibt keine "name"-Attribute mit dem gleichen Wert.
Sobald ich die Seite aufrufe zeigt mir der IE8 an, dass in Zeile x, Zeichen 2 ein Fehler aufgetreten ist.
Ändere ich es so um
kriege ich angezeigt, dass in Zeile x+1, Zeichen 2 ein Fehler aufgetreten ist.
Ändere ich es schließlich in
und ersetze die Variablennamen in der ganzen Funktion entsprechend, so funktioniert es. Woran liegt das jetzt genau? Meine Vermutung ist, dass der IE8 nicht damit klar kommt, wenn ich eine Variable verwende, die den gleichen Namen hat wie ein ID-Attribut, aber warum ist das so? An und für sich sollte das eine doch komplett unabhängig vom anderen sein?
ich habe mir eine kleine JS-Funktion geschrieben, welche eine DIV-Box auf dem Bildschirm positioniert. Hierzu bestimme ich die Positionen zweier anderer DIVs und verschiebe anschließend die Position meiner Box entsprechend.
Im FF 3.0 und 3.5 funktioniert es wunderbar und im Konqueror 3.5.10 ebenfalls.
Nun habe ich das Ganze gerade mit dem IE8 getestet und es semmelt (wie zu erwarten) voll vor die Wand.
Die Ursache dafür sind die folgenden Zeilen (wahrscheinlich eher der IE):
Code:
header = document.getElementById("header");
menue = document.getElementById("menue");
Die entsprechenden IDs existieren tatsächlich nur als IDs, es gibt keine "name"-Attribute mit dem gleichen Wert.
Sobald ich die Seite aufrufe zeigt mir der IE8 an, dass in Zeile x, Zeichen 2 ein Fehler aufgetreten ist.
Ändere ich es so um
Code:
headr = document.getElementById("header");
menue = document.getElementById("menue");
kriege ich angezeigt, dass in Zeile x+1, Zeichen 2 ein Fehler aufgetreten ist.
Ändere ich es schließlich in
Code:
headr = document.getElementById("header");
mene = document.getElementById("menue");
und ersetze die Variablennamen in der ganzen Funktion entsprechend, so funktioniert es. Woran liegt das jetzt genau? Meine Vermutung ist, dass der IE8 nicht damit klar kommt, wenn ich eine Variable verwende, die den gleichen Namen hat wie ein ID-Attribut, aber warum ist das so? An und für sich sollte das eine doch komplett unabhängig vom anderen sein?