ToBiOh.: Erkennen ob Benutzer scrollt

Hallo,
seit 2 Stunden versuche ich verzweifelt über Google heraus zu finden, wie man mit Javascript erkennen kann, wann der Benutzer scrollt, um dann eine Funktion aufzurufen. Vielleicht könnt ihr mir helfen. Bin für alle Hinweise dankbar.

grüße Tobias

  1. seit 2 Stunden versuche ich verzweifelt über Google heraus zu finden, wie man mit Javascript erkennen kann, wann der Benutzer scrollt, um dann eine Funktion aufzurufen. Vielleicht könnt ihr mir helfen. Bin für alle Hinweise dankbar.

    Mit dem Event handler onScroll

    1. Ok danke. Nun will ich den Befehl aber auf eine DIV Ebene anwenden, die eigentlich gar keinen Scroll Balken hat. Gibt es da einen Trick?

      1. Gibt es da einen Trick?

        Wofür? Wenn man den Inhalt nicht scrollen kann, wird es der User auch nicht tun.

        1. Gibt es da einen Trick?

          Wofür? Wenn man den Inhalt nicht scrollen kann, wird es der User auch nicht tun.

          Ich baue ein Script im Stil von Google Maps - dafür ist dies erforderlich -> zum zoomen. Wenn möglich sollte deshalb auch die Ebene keinen Scrollbalken zeigen.

          grüße

          1. Hallo,

            Wenn man den Inhalt nicht scrollen kann, wird es der User auch nicht tun.
            Ich baue ein Script im Stil von Google Maps - dafür ist dies erforderlich -> zum zoomen. Wenn möglich sollte deshalb auch die Ebene keinen Scrollbalken zeigen.

            ich verstehe immer noch nicht, was du dir vorstellst.
            Willst du nun den Inhalt eines Elements scrollen? Dann muss das Element auch Scrollbalken haben, und du kannst versuchen, mit dem onscroll-Eventhandler darauf zu reagieren. Beim body-Element mag das sogar funktionieren, bei anderen Elementen ist der Erfolg AFAIK zweifelhaft.
            Oder willst du mit Javascript einen Effekt realisieren, der dem normalen Scrollen ähnelt? Dann musst du diesen Effekt aber komplett selbst implementieren.
            Oder willst du zoomen? Das hätte ja mit dem Scrollen überhaupt nichts zu tun, das wäre eine ganz andere Baustelle.

            Also erkläre bitte nochmal genau, was du eigentlich meinst.

            So long,
             Martin

            --
            Heutzutage gilt ein Mann schon dann als Gentleman, wenn er wenigstens die Zigarette aus dem Mund nimmt, bevor er eine Frau küsst.
              (Barbra Streisand, US-Schauspielerin)
            1. Hallo,

              Wenn man den Inhalt nicht scrollen kann, wird es der User auch nicht tun.
              Ich baue ein Script im Stil von Google Maps - dafür ist dies erforderlich -> zum zoomen. Wenn möglich sollte deshalb auch die Ebene keinen Scrollbalken zeigen.

              ich verstehe immer noch nicht, was du dir vorstellst.
              Willst du nun den Inhalt eines Elements scrollen? Dann muss das Element auch Scrollbalken haben, und du kannst versuchen, mit dem onscroll-Eventhandler darauf zu reagieren. Beim body-Element mag das sogar funktionieren, bei anderen Elementen ist der Erfolg AFAIK zweifelhaft.
              Oder willst du mit Javascript einen Effekt realisieren, der dem normalen Scrollen ähnelt? Dann musst du diesen Effekt aber komplett selbst implementieren.
              Oder willst du zoomen? Das hätte ja mit dem Scrollen überhaupt nichts zu tun, das wäre eine ganz andere Baustelle.

              Also erkläre bitte nochmal genau, was du eigentlich meinst.

              So long,
              Martin

              Hallo Martin,
              wahrscheinlich kennst du Google Maps ( http://maps.google.com/ ). Etwas ähnliches habe ich, für eine eigene Karte, auch gebastelt. Bisher funktioniert auch alles. Nur eine Funktion, die Google Maps hat und die ich auch gerne realisieren würde, ist das das Zoomen durch scrollen. Das "Zoom-Script" ist auch soweit schon fertig, nur fehlt mir ein Aufrufen der Funktion durch das Mausscrollen. Ich bräuchte also ein Script, dass eine Funktion aktiviert, sobald man das Scrollrad der Maus betätigt (und die Maus innerhalb der Div-Ebene ist).

              1. Ich bräuchte also ein Script, dass eine Funktion aktiviert, sobald man das Scrollrad der Maus betätigt (und die Maus innerhalb der Div-Ebene ist).

                Brauchst du jetzt ein Script, das überweacht ob der User scrollt oder eins das auf das Bewegen des Scrollrades reagiert? Bei solch grundverschiedenen DIngen solltest du dich entscheiden.

                1. Ich meinte das Bewegen des Scrollrades. - Sorry ich wusste zuvor nicht, dass es da einen Unterschied gibt. Nerog hat mir schon sehr viel weiter geholfen mit seinem Tipp.

                  Zu dem Thema habe ich folgende Seiten gefunden:
                  http://adomas.org/javascript-mouse-wheel/
                  (Für alle die das gleiche Problem haben)

                  Meine Umsetzung funktioniert zwar noch nicht ganz, aber ich arbeite noch dran.

                  Vielen Dank an alle!

                  1. Sorry ich wusste zuvor nicht, dass es da einen Unterschied gibt.

                    Wie du bei Google siehst, ist dieses Rad an der Maus nicht nur zum Scrollen in Dokumenten gut. Somit sollte der Unterschied, gerade in diesem Fall, dass du es nicht zum Scrollen nutzen willst, doch klar sein.

          2. Ich baue ein Script im Stil von Google Maps - dafür ist dies erforderlich -> zum zoomen.

            Dir geht es also gar nicht darum, ob ein Benutzer scrollt, sondern darum, ob dieser das Mausrad benutzt?!
            Informiere dich dafür über die Event-Handler „mousewheel“ und „DOMMouseScroll“. Eine einigermaßen browserübergreifende Lösung ist allerdings ein bisschen Frickelei.

            1. Informiere dich dafür über die Event-Handler „mousewheel“ und „DOMMouseScroll“. Eine einigermaßen browserübergreifende Lösung ist allerdings ein bisschen Frickelei.

              Ja das meinte ich. Vielen Dank - ich werd mich mal etwas einlesen.

      2. <div onscroll="..." style="witd:xx;heigth:xx; overflow:scroll">
        Für xx so einstellen das der Inhalt nicht reinpasst und so das div "übergeht",Ergebnis: ein Scrollbalken

  2. Hallo,

    wozu willst du wissen, ob der User scrollt ... ich dachte das mit dem gläsernen Bürger will man abschaffen ...

    MfG. Christoph

    --
    Wo die Sprache aufhört, fängt die Musik an...
    Selfcode:  ie:( fl:| br:^ va:| ls:/ fo:| rl:? n4:) ss:) de:] js:) ch:{ sh:) mo:) zu:)
    Go to this