HTML
<div id="div1" style="height:500px">div1</div>
<div id="div2" style="height:500px">div2</div>
<div id="div3" style="height:500px">div3</div>
<div id="div4" style="height:500px">div4</div>
JS
function isScrolledIntoView(elem)
{
var $elem = $(elem);
var $window = $(window);
var docViewTop = $window.scrollTop();
var docViewBottom = docViewTop + $window.height();
var elemTop = $elem.offset().top;
var elemBottom = elemTop + $elem.height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
$(window).scroll(function() {
if (isScrolledIntoView("#div1")) { window.history.pushState("state", "title", "/div1"); return; }
if (isScrolledIntoView("#div2")) { window.history.pushState("state", "title", "/div2"); return; }
if (isScrolledIntoView("#div3")) { window.history.pushState("state", "title", "/div3"); return; }
if (isScrolledIntoView("#div4")) { window.history.pushState("state", "title", "/div4"); return; }
});
OR
$(window).scroll(function() {
var height = $(window).scrollTop();
if(height > some_number) {
// change url here
}
});