Black_Star,
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<style>
.block{
position: relative;
width: 100%;
height: 400px;
border: 1px solid #000;
}
#block1{
background-color: #f00;
height: 500px;
}
#block2{
background-color: #0f0;
height: 300px;
}
#block3{
background-color: #0ff;
height: 700px;
}
#block4{
background-color: #f0f;
height: 500px;
}
#block5{
background-color: #ff0;
}
h1{
margin: 0 auto;
text-decoration: none;
}
ul{
list-style-type: none;
}
.slider-nav {
position: fixed;
right: 5%;
top: 50%;
width: 50px;
height: 100px;
z-index: 100;
}
.slider-nav-menu li:nth-child(even) a {
background-color: black;
}
.slider-nav-menu li:nth-child(odd) a {
background-color: yellow;
}
.slider-nav-menu a {
display: block;
margin: 100% 0;
width: 20px;
height: 20px;
border: 1px solid #000;
border-radius: 50%;
}
a.menu-active {
position: relative;
transform: scale(1.4);
transiton: transform 0.5s;
}
a.menu-active:after {
position: absolute;
top: 50%;
left: 50%;
margin: -5px 0 0 -5px;
content: "";
width: 10px;
height: 10px;
border-radius: 50%;
border: 1px solid #000;
background-color: #fff;
}
</style>
</head>
<body>
<nav class="slider-nav">
<ul class="slider-nav-menu">
<li><a class="block menu-active" href="#block1"></a></li>
<li><a class="block" href="#block2"></a></li>
<li><a class="block" href="#block3"></a></li>
<li><a class="block" href="#block4"></a></li>
<li><a class="block" href="#block5"></a></li>
</ul>
</nav>
<div id="block1" class="block"><h1>TEST1</h1></div>
<div id="block2" class="block"><h1>TEST2</h1></div>
<div id="block3" class="block"><h1>TEST3</h1></div>
<div id="block4" class="block"><h1>TEST4</h1></div>
<div id="block5" class="block"><h1>TEST5</h1></div>
</body>
<script type="text/javascript">
window.onload = function() {
var navigateMenu = $(".slider-nav-menu"),
activeMenu = $(".menu-active");
navigateMenu.on("click", "li", function() {
activeMenu.removeClass("menu-active");
activeMenu = $(this).find("a").addClass("menu-active")
});
var blocks = $.map($("div.block"), function(el) {
return $(el).offset().top
});
$(window).scroll(function() {
var top = $(this).scrollTop() + $(window).height() / 2;
var i = blocks.reduce(function(a, b, i) {
return b > top ? a : i
}, 0);
$("li", navigateMenu).eq(i).trigger("click")
})
};
</script>
</html>