Frank Gessner
Grünschnabel
Hallo,
mein Problem ist Folgendes:
Habe mehrere <div>-Elemente in einem HTML-Dokument.
Eines dieser Elemente hat folgende Eigenschaften:
#contentA {
position:absolute;
top:18px;
left:0px;
z-index:101;
background: #ffffff;
border:solid 1px #666666;
visibility: visible;
overflow-y: scroll;
overflow-x: hidden
Die Inhalte dieses Elemente lassen per Klick die Seite neu laden, beeinflussen andere Elemente (hier nicht relevant) und soll wieder den gleich Zustand annehmen. So auch die Position, an die innerhalb dieses "Fensters" gescrollt wurde. Der Nutzer soll also nicht bemerken, dass an diesem Objekt Änderungen vorgenommen wurden. Kapiert? Wer nicht schaut mal kurz hierher:
http://www.fresh-vibes.de/store/msd/test/
(es geht rein um die linke Box)
Jetzt habe ich zunächst den Wert für das bisherige Scrollen mit:
document.getElementById("contentA").offsetTop ;
auslesen wollen (ist nur für aktuellen IE notwendig)
Das Problem ist nur, dass offsetTop mir nicht den Wert, der gescrollt wurde liefert,
sondern die Position zum Vaterelement, nämlich genau die 18 Pixel per CSS-Definition (s.o.). Die will ich aber nicht...
Problem Nummer 2:
Ähnliches ergibt sich, wenn ich (nachdem der Wert - dann eben testweise erst mal "18" - an die
URL übergeben und wieder ausgelesen wurde) setzen wollte, nämlich mit:
var temp = document.getElementById("contentA");
temp.scrollTo(0,yScroll);
Gescrollt wird hier nämlich mal gar net, weil laut Browser
"das Objekt diese Methode oder Eigenschaft nicht unterstützt".
Wo liegt mein Problem bzw. dessen Lösung?
Warum kann ich einem DIV-Objekt erlauben, dass es scrollbar ist (overflow-y: scroll; ),
dann aber nicht daraufansprechen?
Gibt es denn Alternativen für die Funktionen 'offsetTop' bzw. 'scrollTo()'?
Vermute, dass diese sich nur auf das window-Element anwenden lassen...
Danke für eure Hilfe
Frank
mein Problem ist Folgendes:
Habe mehrere <div>-Elemente in einem HTML-Dokument.
Eines dieser Elemente hat folgende Eigenschaften:
#contentA {
position:absolute;
top:18px;
left:0px;
z-index:101;
background: #ffffff;
border:solid 1px #666666;
visibility: visible;
overflow-y: scroll;
overflow-x: hidden
Die Inhalte dieses Elemente lassen per Klick die Seite neu laden, beeinflussen andere Elemente (hier nicht relevant) und soll wieder den gleich Zustand annehmen. So auch die Position, an die innerhalb dieses "Fensters" gescrollt wurde. Der Nutzer soll also nicht bemerken, dass an diesem Objekt Änderungen vorgenommen wurden. Kapiert? Wer nicht schaut mal kurz hierher:
http://www.fresh-vibes.de/store/msd/test/
(es geht rein um die linke Box)
Jetzt habe ich zunächst den Wert für das bisherige Scrollen mit:
document.getElementById("contentA").offsetTop ;
auslesen wollen (ist nur für aktuellen IE notwendig)
Das Problem ist nur, dass offsetTop mir nicht den Wert, der gescrollt wurde liefert,
sondern die Position zum Vaterelement, nämlich genau die 18 Pixel per CSS-Definition (s.o.). Die will ich aber nicht...
Problem Nummer 2:
Ähnliches ergibt sich, wenn ich (nachdem der Wert - dann eben testweise erst mal "18" - an die
URL übergeben und wieder ausgelesen wurde) setzen wollte, nämlich mit:
var temp = document.getElementById("contentA");
temp.scrollTo(0,yScroll);
Gescrollt wird hier nämlich mal gar net, weil laut Browser
"das Objekt diese Methode oder Eigenschaft nicht unterstützt".
Wo liegt mein Problem bzw. dessen Lösung?
Warum kann ich einem DIV-Objekt erlauben, dass es scrollbar ist (overflow-y: scroll; ),
dann aber nicht daraufansprechen?
Gibt es denn Alternativen für die Funktionen 'offsetTop' bzw. 'scrollTo()'?
Vermute, dass diese sich nur auf das window-Element anwenden lassen...
Danke für eure Hilfe
Frank