JSFiddle - React, Tailwind, and code Playground

by kiokotzu

HTML

<div class="marginTop"></div>
<div class="col-lg-12 text-center contImgs show">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
<div class="col-lg-12 text-center contImgs">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
<div class="col-lg-12 text-center contImgs">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
<div class="col-lg-12 text-center contImgs">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
<div class="col-lg-12 text-center contImgs">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
<div class="col-lg-12 text-center contImgs">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
<div class="col-lg-12 text-center contImgs">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
<div class="col-lg-12 text-center contImgs">
    <span>Estas</span>
    <span>hermosa</span>
    <span>mi</span>
    <span>bonita</span>
</div>

<div class="marginTop"></div>

CSS

.marginTop{
    margin-top:400px;
}
.text-center{
    text-align:center;
}

.contImgs{
    margin-bottom:20px;
    opacity:0;
    -webkit-transition:1s;
    position:relative;
    top:15px;
}
.contImgs.show{
    opacity:1;
    top:0;
}
.contImgs span{
    width: 22%;
    height:80px;
    background:green;
    display:inline-block;
    vertical-align:top;
    text-align:center;
    color:#fff;
    font-weight:bold;
    line-height:80px;

}

JavaScript

$(function(){
    var contsImgs = $('.contImgs');
    var top;
    
    function distancia(e){
        top = $(e).offset().top;
        return top
    }
    
    console.log($(contsImgs[1]).offset().top)
    
    if(contsImgs.length){
        $(window).bind('scroll',function(){
            var scroll = $(window).scrollTop();
            for(var i = 0; i < contsImgs.length; i++){
                if(scroll > (distancia(contsImgs[i]) - 300) ){
                    $(contsImgs[i]).addClass('show');
                    console.log(distancia(contsImgs[i]));
                }else{
                    $(contsImgs[i]).removeClass('show');
                }
            }
        });
    }
    
});