JSFiddle - React, Tailwind, and code Playground

by Michael Barros

HTML

<a href="#" class="btt">Top</a>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia praesentium delectus dolorum enim corrupti nostrum eveniet animi architecto voluptates incidunt aut rerum repudiandae saepe est obcaecati quibusdam consectetur eos ipsum!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia praesentium delectus dolorum enim corrupti nostrum eveniet animi architecto voluptates incidunt aut rerum repudiandae saepe est obcaecati quibusdam consectetur eos ipsum!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia praesentium delectus dolorum enim corrupti nostrum eveniet animi architecto voluptates incidunt aut rerum repudiandae saepe est obcaecati quibusdam consectetur eos ipsum!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia praesentium delectus dolorum enim corrupti nostrum eveniet animi architecto voluptates incidunt aut rerum repudiandae saepe est obcaecati quibusdam consectetur eos ipsum!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia praesentium delectus dolorum enim corrupti nostrum eveniet animi architecto voluptates incidunt aut rerum repudiandae saepe est obcaecati quibusdam consectetur eos ipsum!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia praesentium delectus dolorum enim corrupti nostrum eveniet animi architecto voluptates incidunt aut rerum repudiandae saepe est obcaecati quibusdam consectetur eos ipsum!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia praesentium delectus dolorum enim corrupti nostrum eveniet animi architecto voluptates incidunt aut rerum repudiandae saepe est obcaecati quibusdam consectetur eos ipsum!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia praesentium delectus dolorum enim corrupti nostrum eveniet animi architecto voluptates incidunt aut rerum repudiandae saepe est obcaecati quibusdam consectetur eos...

CSS

body {
  font-family: Segoe UI, Tahoma;
  text-align: justify;
  margin: 0;
  padding: 0;
}

.footer {
  background: #000;
  text-align: center;
  color: #fff;
  padding: 5px;
}

.btt {
  background: #f00;
  text-align: center;
  color: #fff;
  padding: 5px;
  text-decoration: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  border-radius: 5px;
}

JavaScript

$(document).ready(function(){
    $(window).scroll(function(){
        btnBottom = $(".btt").offset().top + $(".btt").outerHeight();
        ftrTop = $(".footer").offset().top;
        if (btnBottom > ftrTop)
            $(".btt").css("bottom", btnBottom - ftrTop + $(".btt").outerHeight());
    });
});