scrollTop onscroll Unterschiede im Browser
bearbeitet von beatovichhallo
> Hallo beatovich,
>
>
> > Ich kann auf der verlinkten Seite aber nichts entdecken, das deinem Beispiel nur annähernd entspricht.
> >
>
> Mein Beispiel ist eine Frage, keine spezifische Anwendung. Aber klar dürfte damit sein, dass ich keine Sprungziele im Auge habe, sondern Ereignisse/Aktionen die sich nach dem Scrollverhalten richten, was dann wohl doch durchaus sinnvoll sein kann.
>
> > Was machen denn die Browser bei:
> >
> > el.onscroll=function(){console.log("handler wird ausgeführt")};
> >
>
> Sie reagieren natürlich darauf, entspricht ja auch meinem Beispielcode(im Thread) hier und der funktioniert, wie schon gesagt, in beiden Browsern.
>
> Gruss
> Henry
Ich kann nur sagen, dass document.body.scrollTop in IE bis in neuere Versionen nicht existiert
und du wirst wohl eine property Abfrage machen müssen oder eben deine hier verwendete Variante verwenden müssen.
Eine andere Frage:
// warum reicht hier eigentlich nicht: window.onscroll = scrollcntrl();
scrollcntl() würde sofort evaluiert und ganz einfach der zur Zeit der Evaluation ermittelte Wert gespeichert.
Deshalb besser:
`window.addEventListener("scroll", scrollcntrl);`
Bei
`window.onscroll=function(){scrollcntrl()};`
wird eine anonyme Funktion zugewiesen, und im Eventfall erst ausgeführt.
Nachteil natürlich dass derart ein bestehender scrollevent überschrieben wird.
scrollTop onscroll Unterschiede im Browser
bearbeitet von beatovichhallo
> Hallo beatovich,
>
>
> > Ich kann auf der verlinkten Seite aber nichts entdecken, das deinem Beispiel nur annähernd entspricht.
> >
>
> Mein Beispiel ist eine Frage, keine spezifische Anwendung. Aber klar dürfte damit sein, dass ich keine Sprungziele im Auge habe, sondern Ereignisse/Aktionen die sich nach dem Scrollverhalten richten, was dann wohl doch durchaus sinnvoll sein kann.
>
> > Was machen denn die Browser bei:
> >
> > el.onscroll=function(){console.log("handler wird ausgeführt")};
> >
>
> Sie reagieren natürlich darauf, entspricht ja auch meinem Beispielcode(im Thread) hier und der funktioniert, wie schon gesagt, in beiden Browsern.
>
> Gruss
> Henry
Ich kann dir nicht sagen, warum, aber das Problem mit scrollTop und body scheint bekannt und du wirst wohl eine property Abfrage machen müssen oder eben deine hier verwendete Variante verwenden müssen.
Eine andere Frage:
// warum reicht hier eigentlich nicht: window.onscroll = scrollcntrl();
scrollcntl() würde sofort evaluiert und ganz einfach der zur Zeit der Evaluation ermittelte Wert gespeichert.
Deshalb besser:
`window.addEventListener("scroll", scrollcntrl);`
Bei
`window.onscroll=function(){scrollcntrl()};`
wird eine anonyme Funktion zugewiesen, und im Eventfall erst ausgeführt.
Nachteil natürlich dass derart ein bestehender scrollevent überschrieben wird.
scrollTop onscroll Unterschiede im Browser
bearbeitet von beatovichhallo
> Hallo beatovich,
>
>
> > Ich kann auf der verlinkten Seite aber nichts entdecken, das deinem Beispiel nur annähernd entspricht.
> >
>
> Mein Beispiel ist eine Frage, keine spezifische Anwendung. Aber klar dürfte damit sein, dass ich keine Sprungziele im Auge habe, sondern Ereignisse/Aktionen die sich nach dem Scrollverhalten richten, was dann wohl doch durchaus sinnvoll sein kann.
>
> > Was machen denn die Browser bei:
> >
> > el.onscroll=function(){console.log("handler wird ausgeführt")};
> >
>
> Sie reagieren natürlich darauf, entspricht ja auch meinem Beispielcode(im Thread) hier und der funktioniert, wie schon gesagt, in beiden Browsern.
>
> Gruss
> Henry
Ich kann dir nicht sagen, warum, aber das Problem mit scrollTop und body scheint bekannt und du wirst wohl eine property Abfrage machen müssen oder eben deine hier verwendete Variante verwenden müssen.
Eine andere Frage:
// warum reicht hier eigentlich nicht: window.onscroll = scrollcntrl();
scrollcntl() würde sofort evaluiert und ganz einfach der zur Zeit der Evaluation ermittelte Wert gespeichert.
Deshalb besser:
`window.addEventListener("scroll", scrollcntrl);`
Bei
`window.onscroll=function(){scrollcntrl()};`
wird eine anonyme Fuktion zugewiesen, und im Eventfall erst ausgeführt.
Nachteil natürlich dass derart ein bestehender scrollevent überschrieben wird.