Javascript / DIV-Element Scrollen
Frank Gessner
- javascript
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?
Danke für eure Hilfe
Frank
var temp = document.getElementById("contentA");
temp.scrollTo(0,yScroll);Gescrollt wird hier nämlich mal gar net, weil laut Browser
Wo liegt mein Problem bzw. dessen Lösung?
Ich vermute mal, daß
"das Objekt diese Methode oder Eigenschaft nicht unterstützt".
Ein kurzer Blick in irgendeine beliebige JS-Referenz zeigt Dir, daß es scrollTo nur als Methode von window gibt. Also mußt Du selbst eine Prototype-Methode erzeugen.