JSFiddle - React, Tailwind, and code Playground
by Ali Khaled
HTML
<div class="top-strip">Header</div>
<div class="fademe">
<h3>I want this box to be at 0% opacity once the body text hits the very top of this box</h3>
</div>
<div class="main-content">
<h2>Box should be 0% opacity by the time this reaches the top of it.</h2>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
<p>Text to simulate scrolling</p>
</div>
CSS
html,
body {
height: 100%;
max-width: 100%;
margin: 0 auto;
padding: 0;
}
div.top-strip{height:30px;display:block;border:1px solid #ccc;position:fixed;width:100%;}
div.fademe {
width: 100%;
position: fixed;
top:35px;
display:block;
height:130px;
background:orange;
}
div.main-content{position:relative;top:165px;}
JavaScript
var divs = $('.fademe');
$(window).scroll(function(){
var percent = $(document).scrollTop() / ($(document).height() - $(window).height());
divs.css('opacity', 1 - percent);
});