【发布时间】:2020-05-27 01:04:22
【问题描述】:
我有一些接近于我希望它们工作的不同部分。
我有四个 div。根据访问的 URL,我希望一个特定的 div 处于完全透明/活动状态。我希望序列中的下一个 div 同时进出透明动画,以使查看者倾向于访问序列中的下一页/网址。我也有一个悬停状态,所以当 4 个 div 中的任何一个悬停时,那个也应该完全透明。
当我尝试将悬停状态设置为首要规则时,我感到困惑。如果任何 div 悬停,我希望所有其他动画停止,悬停的 div 完全不透明,其他 3 个 div 应该变为半不透明(无论正在访问什么页面等)。
我的代码如下,如果您有任何问题,请告诉我。谢谢!这里还有一个 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");
});
【问题讨论】:
标签: javascript html jquery css animation