Я пытаюсь подсчитать количество пикселов, которые пользователь прокрутил, но общее количество показов scrollTop отличается от суммы определенной высоты окна.Неверная высота с scrollTop
HTML
<body>
<div class="slide slide1">
</div>
<div class="slide slide2">
</div>
<div class="slide slide3">
</div>
<div class="slide slide4">
</div>
<div class="slide slide5">
</div>
</body>
CSS
html, body {
height: 100%;
}
.slide {
width: 100%;
height: 100%;
}
.slide1 {
background: red;
}
.slide2 {
background: blue;
}
.slide3 {
background: yellow;
}
.slide4 {
background: green;
}
.slide5 {
background: gray;
}
JS
$(document).ready(function(){
$(window).scrollTop($(document).height());
$('h2').text($(window).height() + 'px');
$('h1').text($(document).scrollTop() + 'px');
$(window).scroll(function() {
$('h1').text($(this).scrollTop() + 'px');
});
});
Fiddle: https://jsfiddle.net/w9bxhsvj/2/
Например, если высота окна 611px, и есть 5 дивы с высоты 100%, scrollTop значение должно быть 3055px, но он показывает 2452px. Что я делаю не так?
Это кажется первый не сосчитать. –
начало отсчета в 0, прокрутка сверху даёт 0. –
Используйте '$ (window) .scrollTop() + $ (window) .height()' –