//viewport function
$.fn.isInViewport = function() {
var elementTop = $(this).offset().top,
elementBottom = elementTop + $(this).outerHeight(),
viewportTop = $(window).scrollTop(),
viewportBottom = viewportTop + $(window).height();
return elementBottom > viewportTop && elementTop < viewportBottom;
};
$(window).on('resize scroll', function() {
if ($('#nexpost').isInViewport()) {
window.history.pushState("", "", '/newpage');
} else {
// do something else
}
});