Animacja to po prostu przejście starej zawartości w nową doczytaną.
Aby sprawdzić, czy ktoś scrolluje w dół czy też w górę skorzystaj z kodu:
var lastScrollTop = 0;
$(window).scroll(function(event){
var st = $(this).scrollTop();
if (st > lastScrollTop){
// downscroll code
} else {
// upscroll code
}
lastScrollTop = st;
});
Ustaw strony i nazwy podstron URL w jakiejś tablicy i przesuwaj indeks w zależności od tego czy scrollowano w dół czy w górę. Warto sprawdzić czas eventu, aby była różnica w czasie pomiędzy poszczególnymi zdarzeniami i scroll nie działał 'za szybko'. Do zmiany URL skorzystaj z:
function processAjaxData(response, urlPath){
document.getElementById("content").innerHTML = response.html;
document.title = response.pageTitle;
window.history.pushState({"html":response.html,"pageTitle":response.pageTitle},"", urlPath);
}