Hallo Gunnar,
erst mal danke an alle für die bisherigen Antworten. Selten, dass ich nicht weiß, was hier als beste Antwort zählen könnte, weil jede für sich einen Teil des Rätsels löst. Perfekte Zusammenarbeit. Es bleiben nur wenige Puzzlestücke unklar.
IE kennt document.body.scrolltop nicht, FF schon. Dennoch könnte ich das Beispiel nicht ändern in document.getElementsByTagName('h2')[0].innerHTML = document.body.scrollTop;
obwohl ich durchaus <script>document.body.onscroll = function(){scrollcntrl()};</script>
als Aufruf benutzen kann.
Oder mal eine Variante des Beispiels von w3schools. Dort erfolgt der Aufruf durch document.body.scrollTop || document.documentElement.scrollTop
, dennoch reagiert FF nicht auf ersteres, was sich zeigt wenn man es entfernt oder eben nur das drin lässt.
Btw. selfhtml empfiehlt scrollY dem scrollTop, vorzuziehen, warum eigentlich?
Generell sollte man die Überwachung des scroll-Events besser vermeiden. Stromfresser, performance killer.
Gut zu wissen. Aber wüsstest du Alternativen um auf Scrollaktionen zu reagieren. Zumindest für die beliebtesten Fälle, also Inhalte nachladen oder Designänderungen ab scrollpunkt xy?
Falls keine Alternative und es so an die Performance geht, wäre es dann vielleicht sinnvoll die Überwachung erst bei Aktion(mouse, touch, focus, etc...) zu aktivieren und bei keiner Aktion zu deaktivieren? Bzw. Oder ist das scrollevent schon von Haus aus so ausgelegt?
Gruss
Henry