![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
Früher war alles einfacher... Schnüff. Mein Problem: Ich will die Position eines Elementes bestimmen, indem ich mit JS die Objekthierarchie über offsetParent durchlaufe und offsetTop addiere. Mit Alerts und dem tagName/id lass ich mir ausgeben, was die Brauser so finden. Firefox: td() -> table() -> div("content") -> div("main") -> body() IE6: td() -> table() -> div("content") -> div("main") -> html() Opera: td() -> table() -> div("main") -> body() Mit der Macke des IE, dass er keinen BODY findet sondern nur mehr das HTML kann ich leben, aber warum findet Opera den DIV "content" nicht, der ganz simpel reingeschachtelt ist. Schematisch so: div id=main <img ... <div id=menu>...</div <div id=content>... <table>... <td>... </div /div Das Blöde: Die Iteration soll mir an diesem content-DIV abbrechen, was beim Opera somit nicht funzt. Ideen? |
#2
| |||
| |||
|
|
Gregor Kofler <gregor.kofler (AT) inode (DOT) at> wrote: Früher war alles einfacher... Schnüff. Mein Problem: Ich will die Position eines Elementes bestimmen, indem ich mit JS die Objekthierarchie über offsetParent durchlaufe und offsetTop addiere. Mit Alerts und dem tagName/id lass ich mir ausgeben, was die Brauser so finden. Firefox: td() -> table() -> div("content") -> div("main") -> body() IE6: td() -> table() -> div("content") -> div("main") -> html() Opera: td() -> table() -> div("main") -> body() Mit der Macke des IE, dass er keinen BODY findet sondern nur mehr das HTML kann ich leben, aber warum findet Opera den DIV "content" nicht, der ganz simpel reingeschachtelt ist. Schematisch so: div id=main img ... div id=menu>...</div div id=content>... table>... <td>... /div /div Das Blöde: Die Iteration soll mir an diesem content-DIV abbrechen, was beim Opera somit nicht funzt. Ideen? Validiert der Code? Hast du eine URL mit einem Beispiel? |
|
de.comp.javascript ist imho die passendere Gruppe, |
#3
| |||
| |||
|
#4
| |||
| |||
|
|
Geh zurück zu <dciwam/>, gehe nicht über "Los" und ziehe keine 4000 Elemente ein. |
|
HTH |
#5
| |||
| |||
|
| http://gregorkofler.at/temp/resupage...opic=equipment Klick auf die "Why.." liefert die unterschiedlichen Ergebnisse. [offsetTop/Left/Parent Unterschiede in Browsern] |
#6
| ||||||
| ||||||
|
|
Thomas 'PointedEars' Lahn wrote: http://validator.w3.org/check?uri=ht...ss=1;verbose=1 Ja und? Die angemeckerten Fehler sind ja wohl nicht des Problems Kern. |
|
Ich *weiss*, dass ich den Validator nicht angeschmissen hab... |
|
Geh zurück zu <dciwam/>, gehe nicht über "Los" und ziehe keine 4000 Elemente ein. Aaaalso: Die f'up nach dcljs war nicht meine Idee. Aber auch gut. Was sagt mir "Gehe nicht über 'Los'"? |
|
Und: Ich hab dir schon 100.000x gesagt du sollst nicht übertreiben. |
|
Sorry, aber ich zähle indem Dokument gerade mal 16 DIVs... Oder meintest du was anderes? |
|
HTH Nicht im geringsten. |
#7
| |||
| |||
|
|
Ja und? Die angemeckerten Fehler sind ja wohl nicht des Problems Kern. Wie willst Du das auch nur ansatzweise beurteilen können? Deine Methode operiert auf dem DOM. Das DOM basiert größtenteils auf dem Markup. Dein Markup ist fehlerhaft. Noch Fragen, Kienzle? |
|
Ich *weiss*, dass ich den Validator nicht angeschmissen hab... Aber? |
|
Geh zurück zu <dciwam/>, gehe nicht über "Los" und ziehe keine 4000 Elemente ein. Sorry, aber ich zähle indem Dokument gerade mal 16 DIVs... Oder meintest du was anderes? Ja. Pointed"Hier ist kein Supportforum!"Ears |
#8
| |||
| |||
|
| Gregor Kofler wrote: http://gregorkofler.at/temp/resupage...opic=equipment Klick auf die "Why.." liefert die unterschiedlichen Ergebnisse. [offsetTop/Left/Parent Unterschiede in Browsern] Es gibt keine Spezifikation zu offsetTop/Left/Parent, sondern Mozilla, Opera (und andere) versuchen halt nur, per reverse engineering das Verhalten von IE/Win nachzuahmen. Wie dein Test zeigt, gelingt das nicht vollstaendig. Es bleibt dir also nur, dein Script den verschiedenen Browsern anzupassen. Danke. http://www.opera.com/docs/specs/ vermeldet zwar eine |
#9
| |||
| |||
|
| Gregor Kofler wrote: http://gregorkofler.at/temp/resupage...opic=equipment Klick auf die "Why.." liefert die unterschiedlichen Ergebnisse. [offsetTop/Left/Parent Unterschiede in Browsern] Es gibt keine Spezifikation zu offsetTop/Left/Parent, sondern Mozilla, Opera (und andere) versuchen halt nur, per reverse engineering das Verhalten von IE/Win nachzuahmen. Wie dein Test zeigt, gelingt das nicht vollstaendig. Es bleibt dir also nur, dein Script den verschiedenen Browsern anzupassen. Hmmm... Ersetz ich (ganz schlampig) das offsetParent durch eine |
#10
| |||
| |||
|
|
Thomas 'PointedEars' Lahn wrote: Ja und? Die angemeckerten Fehler sind ja wohl nicht des Problems Kern. Wie willst Du das auch nur ansatzweise beurteilen können? Deine Methode operiert auf dem DOM. Das DOM basiert größtenteils auf dem Markup. Dein Markup ist fehlerhaft. Noch Fragen, Kienzle? Indem ich sie entfernt habe und das (fehlerhafte) Ergebnis gleich geblieben ist. |
|
Ich *weiss*, dass ich den Validator nicht angeschmissen hab... Aber? Na, die Diskussion auf dciwam war usrpsrünglich ohne Sample. Dann hat Levin danach gefragt und ich hab's schnell eingestellt. |
|
Pointed"Hier ist kein Supportforum!"Ears Impliziert das das Geben schwer interpretierbarer Hinweise auf gestellte Fragen? |
![]() |
| Thread Tools | |
| Display Modes | |
| |