Henry: scrollTop onscroll Unterschiede im Browser

Beitrag lesen

Hallo,

Ich suche die bestmögliche Vorgehensweise(nicht die Eventüberwachung, nur die Ausführungen) beim Auslesen der Scrollaktivitäten. Leider gibt es ja viele Möglichkeiten und einige mit überraschenden Ergebnissen.

Beispiel , onscroll im BODY-Tag, funktioniert im FF, nicht aber im IE, warum?

Es funktioniert kurioserweise im IE, wenn ich das onscroll Event im HTML-Tag platziere, was natürlich nicht erlaubt ist und dann auch richtigerweise vom FF ignoriert wird.

Es funktioniert mit beiden, wenn ich den Aufruf mit windows.onscroll, document.onscroll oder document.documentElement.onscroll (welche davon ist eigentlich sinnvoller?) aufrufe und eine zusätzliche Funktion erzeuge:

<!DOCTYPE html>
<html>
<head>
<script>
function scrollcntrl() 
{
document.getElementsByTagName('h2')[0].innerHTML = document.documentElement.scrollTop;
}

window.onscroll = function(){scrollcntrl()};

// warum reicht hier eigentlich nicht: window.onscroll = scrollcntrl();


</script>
</head>
<body style="height:1500px">

<div style="position:fixed;">
<h1>Scroll mal...</h1>
<h2>x</h2>
</div>

</body>
</html>

Und, warum reagieren beider Browser nur auf document.documentElement.scrollTop aber nicht auf document.body.scrollTop?

Gruss
Henry