В готовой функции начинается анимация scrollDown, при полном прослушивании обратного вызова scrollDown я вызвал функцию scrollUp, чтобы начать анимацию прокрутки вверх. После завершения цикла анимация прокрутки вниз займет некоторое время, чтобы начать заново. Что еще более важно время задержки увеличивается после каждого цикла.
$(document).ready(function(){
scrollDown();
});
function scrollDown(){
$('html, body').animate({
scrollTop:$("#4").offset().top-100
},
{
duration:2000,
complete: function(){
scrollUp();
}
});
}
function scrollUp(){
$('html, body').animate({
scrollTop:$("#1").offset().top-100
},
{
duration:2000,
complete: function(){
scrollDown();
}
});
}