Посмотрите на фрагмент ниже, если это поможет.
var height = 100,
perfData = window.performance.timing, // The PerformanceTiming interface represents timing-related performance information for the given page.
EstimatedTime = -(perfData.loadEventEnd - perfData.navigationStart),
time = parseInt((EstimatedTime/1000)%60)*100;
// Loadbar Animation
$(".loadbar").animate({
height: height + "%"
}, time);
// Fading Out Loadbar on Finised
setTimeout(function(){
$('.preloader-wrap').fadeOut(300);
}, time);
.preloader-wrap{position: fixed; top:0; left:0; right:0; bottom:0; background-color: rgba(0, 0, 0, 0.7)}
.loader{ width: 110px; height: 110px; border-radius:50%; background-color: black; position:relative; overflow:hidden; left:0; right:0; top:50%; transform: translateY(-50%); margin:0 auto;}
.trackbar { width: 110px;; height: 110px; margin: 0 auto; background-color: white; padding: 0; position: absolute; border-radius: 50%; left: 0; right: 0; top: 50%; transform:translateY(-50%)}
.loadbar{ position: absolute; bottom: 0; left: 0; right: 0; background-color: skyblue; }
.trackbar:after{content:''; position:absolute; top:50%; left:0; right:0; margin:0 auto; width:90px; height:90px; background-color: black; border-radius: 50%; transform: translateY(-50%);}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="preloader-wrap">
<div class="loader">
<div class="trackbar">
<div class="loadbar"></div>
</div>
</div>
</div>