Hi there codeispoetry,
here is a very simple example - ( Vanilla flavoured, of course
)…
<!DOCTYPE HTML>
<html lang="en">
<head>
<!--<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src 'self';script-src 'self'; style-src 'self'">-->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,height=device-height,initial-scale=1">
<title>untitled document</title>
<link rel="stylesheet" href="screen.css" media="screen">
<style media="screen">
body {
background-color: #f0f0f0;
font: 100%/160% verdana, arial, helvetica, sans-serif;
}
h1, h2, h3 {
text-align: center;
}
.content, .content-two {
max-width: 50em;
padding: 1em;
margin: 1em auto;
border: 0.062em solid #999;
box-sizing: border-box;
box-shadow: 0.4em 0.4em 0.4em rgba( 0, 0, 0, 0.3 );
transition: 0.75s ease-in-out;
}
.extra {
background-color: #fff;
color: #000;
}
.extra0 {
border-radius: 1em;
background-color: #000;
color: #fff;
}
.extra1 {
border-radius: 1em;
background-color: #008;
color: #fff;
}
.extra2 {
border-radius: 1em;
background-color: #900;
color: #fff;
}
</style>
</head>
<body>
<h1>Background color test</h1>
<h2>box one</h2>
<div class="content extra">
<h3>Lorem Ipsum</h3>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Curabitur sit amet sem sed libero bibendum tempus faucibus
quis mi. Nulla rhoncus vel ipsum in volutpat. Nam tortor
nibh, posuere ac lorem ut, suscipit tincidunt leo. Duis
interdum justo ac justo vehicula consequat. Curabitur et
volutpat nibh. Phasellus rutrum lacus at dolor placerat
feugiat. Morbi porta, sapien nec molestie molestie, odio
magna vestibulum lorem, vitae feugiat est leo sit amet
nunc. Curabitur ornare tempor turpis. In nibh sem, porta ac
magna sed, pretium commodo odio. Sed porttitor augue velit,
quis placerat diam sodales ac. Curabitur vitae porta ex.
Praesent rutrum ex fringilla tellus tincidunt interdum.
Proin molestie lectus consectetur purus aliquam porttitor.
Fusce ac nisi ac magna scelerisque finibus a vitae sem.
</p>
</div>
<h2>box two</h2>
<div class="content extra">
<h3>Donec Vehicula</h3>
<p>
Donec vehicula diam non leo efficitur, id euismod odio
tincidunt. Vivamus auctor viverra purus vitae lobortis. Sed
et libero non diam tempor sagittis. Quisque vel egestas
ipsum. Integer sed elit eu orci blandit commodo in in erat.
Donec blandit, mi at gravida varius, nulla tellus vulputate
ex, vitae euismod erat lectus rutrum diam. Cum sociis natoque
penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Curabitur tristique varius ullamcorper.
</p>
</div>
<h2>box three</h2>
<div class="content extra">
<h3>Nam venenatis</h3>
<p>
Nam venenatis diam ante, et cursus elit porttitor at. Morbi
mattis leo at ex vehicula, non vestibulum ligula aliquam.
Maecenas non nibh sollicitudin, porttitor odio in, elementum
arcu. Donec pulvinar orci enim. In pulvinar congue ante, ac
rutrum odio bibendum volutpat. Phasellus ac sem consequat
lorem congue malesuada vitae vitae diam. Donec eu imperdiet
augue. Curabitur ullamcorper sit amet libero in ullamcorper.
Donec sed laoreet quam. Phasellus malesuada libero felis, non
elementum ex tincidunt eget. Quisque cursus arcu vel diam
consectetur, ac imperdiet est cursus. Fusce id nunc nibh.
</p>
</div>
<h2>box four - ( not controlled by script )</h2>
<div class="content-two">
<h3>In Sapien Massa</h3>
<p>
In sapien massa, feugiat ut magna eu, hendrerit porttitor
justo. In vitae massa ipsum. Aliquam feugiat tortor sed diam
facilisis, et molestie dolor blandit. Pellentesque non lectus
odio. Curabitur pulvinar orci vitae lorem bibendum volutpat.
Duis congue dignissim ante ut consequat. Sed nec sagittis
neque, quis vehicula urna. Fusce laoreet interdum ligula vel
finibus. Nunc odio purus, dapibus sit amet orci eget, congue
eleifend erat. Quisque porttitor imperdiet ullamcorper.
Aenean non orci nec magna tempor porta at id ipsum.
</p>
</div>
<script>
(function(w,d) {
'use strict';
var box = d.getElementsByClassName( 'content' );
var spacer = 20; /* adjust to taste */
w.addEventListener( 'scroll',
function() {
for ( var c = 0; c < box.length; c ++ ) {
if ( ( w.pageYOffset + spacer >= box[ c ].offsetTop ) &&
( w.pageYOffset + spacer <= (box[ c ].offsetTop + box[ c ].offsetHeight + spacer ) ) ) {
box[ c ].classList.add( 'extra' + c );
}
else {
box[ c ].classList.remove( 'extra' + c );
}
}
}, false );
}(window, document));
</script>
</body>
</html>
coothead