# Eigenschaften des onscroll Event-Objektes



## JavaUncle (26. Februar 2008)

Hallo

ich frage per 
	
	
	



```
document.getElementById("meinScrollbaresDIV").onscroll = function(e) {
if(!e) e = window.event;
}
```

ab ob ein Element gescrollt wird. Nun brauche ich die Position der Scrollbars, sprich wieviel Pixel nach rechts bzw. nach unten gescrollt wurde. Ich nehme an das diese Eigenschaften *irgendwo* in diesem Event-Objekt "e" drin stecken, nur finde ich keine brauchbare Referenz im Netz zum onscroll-Event.

Habt Ihr einen heißen Tipp für mich

Gruß
JavaUncle


----------



## chainy (26. Februar 2008)

Leider hängt die Information nicht am Event-Objekt, ich würde sie auch dort erwarten.
Schau dir stattdessen mal die Eigenschaften (scrollLeft, scrollTop, scrollWidth und scrollHeight) am Element an.


----------



## JavaUncle (26. Februar 2008)

Danke für den Tipp! Die Eigenschaften kannte ich bereits, ich kann auch die Scrollposition abfragen und mit Hilfe des onscroll-Events darauf eingehen. Das Problem dabei ist nur, das es tierisch ruckelt. Daher dachte ich dies könnte ein schnellerer Weg sein...

Gruß
JavaUncle


----------



## chainy (26. Februar 2008)

In wiefern ruckelt das? Zeig mal ein bisschen mehr Quellcode.


----------



## FipsTheThief (26. Februar 2008)

mit scrollTop oder scrollLeft wäre dies möglich.


```
<html>
    <head>
        <script type="text/javascript">
            window.onload = function () {   
                document.getElementById('containerDIV').addEventListener("scroll",showme,true);
            }

            function showme (e) {
                var t = e.target; // ie brauch e.srcElement

                document.getElementById('test').innerHTML = t.scrollTop;
            }        

        </script>
    </head>
    <body>
        <div style="height:300px;overflow:auto;" id="containerDIV">
            viel text viel textviel text viel text viel text viel text
viel...
        </div>
        <div id="test"></div>
     </body>
</html>
```

da war wer schneller  aber ruckeln sollte das nicht es kommt aber auch darauf an was Du reinlädst.


----------



## JavaUncle (26. Februar 2008)

Ich lade ein riesiges DIV rein, das bis zu 2000 Elemente enthalten kann. Habe es aber auch schon auf eine Hand voll Elemente reduziert (100 DIV's mit wenig Text), ruckelt trotzdem. Soweit ich weis ist JS Single-Threaded und kann rein physikalisch gesehen nicht öfter als alle 0,25 msec etwas tun.

Gruß
JavaUncle


----------



## FipsTheThief (26. Februar 2008)

Also bei 2000 Elementen kann ich mir schon vorstellen das es langsam hops geht aber bei 100 ist das nun sehr seltsam.

Die Probleme kenn ich nur wenn irgendwelche FlashFilme abgespielt werden , war aber auch von Browser zu Browser unterschiedlich was sich ja nochmal durch das OS zieht.

FF Ubuntu + Flash Film + JS da wirds rucklig.
FF Windows + Flash Film + JS läuft hingegeben prima 

Wobei es da bei dem IE auch nochmal zu Unterschieden kam zwischen den Rechnern komischer weise.

Da Du aber nur Text in den Layern hast sollte es normal nicht ruckeln , aber es sind a) Browser Interne Scrollbalken und b) nur Text.Also wirklich erklären kann ich mir das nun nicht.

Eventuell hängt es auch an der größe des DIV's.


----------

