Я хочу, чтобы прокрутить вниз, чтобы перейти непосредственно к следующему div, и при прокрутке вверх, чтобы перейти непосредственно к предыдущему div. Вот мои файлы с примером с двумя дивы:Javascript: прокрутка от одного div к другому при прокрутке?
$(document).ready(function() {
var lastScrollTop = 0;
function findPos(obj) {
var curtop = 0;
if (obj.offsetParent) {
do {
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
return [curtop];
}
}
$(window).scroll(function(event) {
var st = $(this).scrollTop();
if (st > lastScrollTop) {
$('html, body').animate({
scrollTop: $("#space_od").offset().top
}, 500);
} else {
$('html, body').animate({
scrollTop: $("#black_hole").offset().top
}, 500);
}
lastScrollTop = st;
});
});
body {
padding: 0;
margin: 0;
}
#black_hole {
background-image: url("black_hole.jpg");
background-position: center;
display: block;
height: 100vh;
width: 100%;
}
#space_od {
background-image: url("2001.png");
background-position: center;
display: block;
height: 100vh;
width: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="black_hole">
</div>
<div id="space_od">
</div>
Это, кажется, работает хорошо, когда прокрутка вниз в первый раз, но не при прокрутке, кажется, чтобы переместить несколько пикселей и затем остановитесь. Есть идеи?
Я должен был сделать это несколько раз и никогда не видел сжатую реализации. Эта библиотека хорошо работает для меня: https://github.com/zynga/scroller. Этот, https://github.com/peachananr/onepage-scroll, также популярен в GitHub, но мне API API не нравится. – rojobuffalo
Возможный дубликат http://stackoverflow.com/questions/11171828/control-page-scroll-animation-with-mousewheel –
** Пример скрипта: http://jsfiddle.net/r3x7r/410/** –