Die folgenden Codes geben Ihnen eine kleine Vorstellung davon, wie mit dieser Situation umzugehen ist. Im Wesentlichen können Sie tun, was Sie wollen, wollen, um die Bildlaufposition zu bringen mit:
document.documentElement.scrollTop
Sie wollen auch einen Bereich, wo das Element Sie wohnt suchen, in unserem Fall, es .part1
und .part2
ist. Wir können diesen Bereich erhalten, indem wir offsetTop
als Anfang des Limits und offsetTop + clientHeight
verwenden, um das Ende zu bestimmen.
Sie müssen das Fensterrollen-Ereignis verfolgen.
Das folgende Beispiel ist generic:
$(window).scroll(function(e) {
if (document.documentElement.scrollTop > 0
&& document.documentElement.scrollTop < $('.part2').offset().top) {
$('div').html("At part1")
} else {
$('div').html("At part2")
}
});
JSFiddle
Ebenso, wenn Sie ein wenig Modularität wollen:
$(window).scroll(function(e) {
let watchList = ['part1', 'part2', 'part3'];
let scrollTop = document.documentElement.scrollTop;
for (var classname of watchList) {
let el = document.getElementsByClassName(classname)[0];
if (scrollTop > el.offsetTop &&
scrollTop < el.offsetTop + el.clientHeight) {
$('div').html("At <strong>"+classname+"</strong>");
}
}
});
JSFiddle
Die Möglichkeiten sind grenzenlos weiter und machen Sie das nützlich aber ich überlasse das dir.
Mögliches Duplikat [Get div-Tag Scroll-Position mit Hilfe von JavaScript] (https://stackoverflow.com/questions/4373667/get-div-tag-scroll-position- Verwenden von Javascript – Paul