JSFiddle - React, Tailwind, and code Playground
by Michel Penke
HTML
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div class="your-div">
</div>
CSS
.hello {
background: red;
height: 100px;
width: 100px;
}
JavaScript
function elementFromTop(elem, classToAdd, distanceFromTop, unit) {
var winY = window.innerHeight || document.documentElement.clientHeight,
elemLength = elem.length, distTop, distPercent, distPixels, distUnit, i;
for (i = 0; i < elemLength; ++i) {
distTop = elem[i].getBoundingClientRect().top;
distPercent = Math.round((distTop / winY) * 100);
distPixels = Math.round(distTop);
distUnit = unit == 'percent' ? distPercent : distPixels;
if (distUnit <= distanceFromTop) {
if (!hasClass(elem[i], classToAdd)) { addClass(elem[i], classToAdd); }
} else {
delClass(elem[i], classToAdd);
}
}
}
//