Please be kind, I haven't made a post on here in forever but I have just now ran into an issue I'm looking for some quick help with. It should be really easy syntax/formatting that I'm just not familiar with and I'm struggling to find the correct answer.
Essentially, I am using the following CSS to pause the animation play state of everything on my page until the dom is fully loaded -
.js-loading * {
animation-play-state: paused !important;
}
.js-loading *:before {
animation-play-state: paused !important;
}
.js-loading *:after {
animation-play-state: paused !important;
}
.qt-loading {
width: 3em;
height: 3em;
margin: 0 auto;
align-content: center;
}
#qt-loading-qtload001 > div {
align-content: center;
top: 50%;
margin: 0 auto;
margin-left: -.5%;
position: fixed;
width: 3em;
height: 3em;
border: 6px solid;
border-top-color: transparent;
border-right-color: white;
border-bottom-color: white;
border-left-color: white;
border-radius: 50%;
animation: qt-loadanim001 1s infinite linear;
animation-delay: -100000s;
}
@keyframes qt-loadanim001 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
But I now have one div where I need the animation to NOT be paused until the dom is loaded (class 'qt-loading')... How would I make this CSS pause everything on my page EXCEPT 'qt-loading'? I would assume the :not selector, but I'm unsure how to combine that with my current CSS.
Thank you so so so much
Edit:
and for more context, here is the html / js
document.documentElement.className += " js-loading";
window.addEventListener("load", showPage, false);
function showPage() {
document.documentElement.className = document.documentElement.className.replace("js-loading","");
}
<div id="qt-loading-qtload001" class="qt-loading"> <div></div>
And this is the new CSS I have tried using the :not selector, but I could not get it to work -
.js-loading *:not(.qt-loading) {
animation-play-state: paused !important;
}
.js-loading *:not(.qt-loading):before {
animation-play-state: paused !important;
}
.js-loading *:not(.qt-loading):after {
animation-play-state: paused !important;
}
.qt-loading {
animation-play-state: running !important;
}
.qt-loading:before {
animation-play-state: running !important;
}
.qt-loading:after {
animation-play-state: running !important;
}
Via Active questions tagged javascript - Stack Overflow https://ift.tt/sSBgmo0
Comments
Post a Comment