I'm trying to make a simple page load progress bar with CSS and a bit of JS. I already made a working css, but the problem is the bar shows up after page change, when I would like it to firstly finish the css progress bar animation and then load next page.
HTML animation code:
<div class="progress-css"></div>
CSS animation code:
:root {
--progress-duration: 0.8s;
--progress-height: 2.5px;
--progress-color: rgb(35,163,255);
--progress-color-ending: rgba(35,163,255,0.2);
--progress-shadow: 0 0 3px 2px rgba(0,148,255,0.23);
}
.progress-css {
position: fixed;
height: var(--progress-height);
width: 100%;
background-color: transparent;
z-index: 99999;
box-shadow: none;
transition: 0.8s;
animation: progress-load var(--progress-duration);
-webkit-animation: progress-load var(--progress-duration);
animation-timing-function: ease-in-out;
}
@keyframes progress-load {
0% {
background-color: var(--progress-color);
box-shadow: var(--progress-shadow);
width: 0%;
}
20% {
background-color: var(--progress-color);
width: 20%;
}
25% {
background-color: var(--progress-color);
width: 28%;
}
90% {
background-color: var(--progress-color);
width: 85%;
}
100% {
width: 100%;
background-color: var(--progress-color-ending);
box-shadow: none;
}
}
Now, when I will click on a <a href="subpage.html">Redirect</a> tag on a website, it will load the specified page, and then it will display progress animation. I would like it to firstly display progress animation, and then load the next page.
I would be grateful for an answer to my question.