JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<div class="header">
header
</div>
<div class="section" id="block1">
section 1 <!-- Добавляем к header класс blue -->
</div>
<div class="section" id="block2">
section 2 <!-- Добавляем к header класс red -->
</div>
<div class="section" id="block3">
section 3 <!-- Добавляем к header класс yellow -->
</div>
CSS
.header{
background: #000;
box-sizing: border-box;
color: #fff;
font-size: 20px;
height: 40px;
left: 0;
position: fixed;
text-align: center;
top: 0;
vertical-align: middle;
width: 100%;
}
.blue{background: blue;}
.red{background: red;}
.yellow{background: yellow;}
.section{
background: #ccc;
border: 5px #333 solid;
box-sizing: border-box;
color: #000;
font-size: 30px;
height: 640px;
padding-top: 80px;
text-align: center;
vertical-align: middle;
width: 100%;
}
#block2{
background: #fff;
height: 940px;
}
#block2{
background: green;
color: #fff;
height: 840px;
}
JavaScript
var winHeight = $(window).height();
var target1 = $('#block1').offset().top;
var target2 = $('#block2').offset().top;
var target3 = $('#block3').offset().top;
$(window).scroll(function(){
var winScrollTop = $(this).scrollTop();
if(winScrollTop > target1 - winHeight){
$(".header").css({"background":"#000","color":"#fff"})
}
if(winScrollTop > target2 - winHeight/2){
$(".header").css({"background":"#03A9F4","color":"#FF5722"})
}
if(winScrollTop > target3 - winHeight/2){
$(".header").css({"background":"#FFEB3B","color":"#009688"})
}
});