У меня есть несколько различных работ, которые почти работают так, как я бы хотел.
У меня четыре див. В зависимости от посещаемого URL-адреса я хочу, чтобы один конкретный c div был полностью прозрачным / активным. Я хотел бы, чтобы следующий div в последовательности анимировался одновременно с прозрачностью и выходом из нее, чтобы зритель почувствовал склонность посетить следующую страницу / URL-адрес в последовательности. У меня также есть состояние зависания, поэтому, когда любой из 4 div зависает, он также должен стать полностью прозрачным.
Я запутываюсь, когда пытаюсь сделать состояние наведения верхним правилом. Если какой-либо из div зависает, я хочу, чтобы все остальные анимации прекратились, зависший div стал полностью непрозрачным, а остальные 3 div должны были go до половины непрозрачности (независимо от того, какая страница посещается, и т. Д. c .).
Мой код находится ниже, дайте мне знать, если у вас возникнут вопросы. Спасибо! Вот также ссылка на CodePen: https://codepen.io/summeropratt/pen/LYpoVYg
HTML
<div class="parent">
<div class="child div1">
<h2>Div 1</h2>
</div>
<div class="child div2">
<h2>Div 2</h2>
</div>
<div class="child div3">
<h2>Div 3</h2>
</div>
<div class="child div4">
<h2>Div 4</h2>
</div>
</div>
CSS
.child {
opacity: .5;
transition: .2s;
}
.full-transparency {
opacity: 1 !important;
cursor: pointer !important;
}
.click-me-next {
animation-name: click-me-next;
animation-duration: 2s;
animation-timing-function: ease-out;
animation-delay: 0;
animation-direction: alternate;
animation-iteration-count: infinite;
animation-fill-mode: none;
animation-play-state: running;
}
@keyframes click-me-next{
0% {
opacity: .5;
}
100% {
opacity: 1;
}
}
JS
// if(window.location.pathname == '/div3-url/') {
var opacity = $(".div3").css("opacity");
console.log("opacity", opacity);
$(".div3").css("opacity", 1);
var div4 = document.getElementsByClassName("div4")[0];
div4.classList.add("click-me-next");
// });
$(".child").hover(function() {
$(this).addClass("full-transparency");
}, function() {
$(this).removeClass("full-transparency");
});