I do not think that it is possible to do it just with anchors. I found a solution with jQuery.
HTML AND CSS:
The main idea is to create an invisible/fixed line in the middle of the screen to detect when this line in inside one section or other.
<div id="controller"></div>
#controller{
position: fixed;
width: 100%;
top: 50%;
}
JQUERY
After this, you have to calculate the distance of each section/feature to the html tag as we are doing here:
var dy = $('html').offset().top - $('#content-section-1').offset().top;
var distance_s1 = Math.sqrt(dy * dy);
Finally, we have to add on scroll event to check if the distance of our controller to the beginning of the document(html tag) is bigger than the distance of a section to the beginning of the document(html tag) in order to emulate the hover effect by adding a specific class.
$(window).scroll(function() {
var dy = $('html').offset().top - $('#controller').offset().top;
var distance_c = Math.sqrt(dy * dy);
if(distance_c >= distance_s3){
$('#navbar').find('.active').removeClass('active');
$('#Section3').addClass('active');
}else if(distance_c >= distance_s2){
$('#navbar').find('.active').removeClass('active');
$('#Section2').addClass('active');
}else if(distance_c >= distance_s1){
$('#navbar').find('.active').removeClass('active');
$('#Section1').addClass('active');
}
});
Here on fiddle: https://jsfiddle.net/Samuel10F/vuon5h49/123/
If you find a more efficient way to do it please let me now :)