【发布时间】:2021-12-07 07:08:00
【问题描述】:
我的布局如下,
容器 - 存放所有卡片。
card - 用于包含信息的 div。
在上图中,左侧显示了屏幕的初始渲染, 当用户点击任何内卡时,相应的卡应该弹出/缩小,
当用户点击弹出卡时,它应该会消失并显示第一个屏幕。
弹出动画应该是这样的,应该从卡片的位置开始,我们点击了。
第二次点击后弹出关闭动画(当弹出打开时),动画应该是这样的,弹出应该最小化到第一步点击的卡片。
我试过下面的代码,但它真的很动画..
let isOpen = false;
$(".child").on("click", function() {
if (!isOpen) {
$(".child").removeClass("active");
$(this).addClass("active");
isOpen = true;
} else {
$(this).removeClass("active");
isOpen = false;
}
})
* {
box-sizing: border-box;
}
.parent {
margin: 40px auto;
width: 400px;
height: 600px;
border: 1px solid #3b3b3b;
border-radius: 20px;
padding: 20px 40px;
position: relative;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.child {
display: flex;
justify-content: center;
align-items: center;
border: 1px solid #000;
border-radius: 40px;
cursor: pointer;
transition: all 0.5s ease-in;
}
.child.active {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 10;
border: 1px solid red;
background: #000;
border-radius: 20px;
color: #fff;
}
@keyframes zoomIn {
0% {
transform: scale(1.1);
}
50% {
transform: scale(1.2);
}
100% {}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="parent">
<div class="child">1</div>
<div class="child">2</div>
<div class="child">3</div>
<div class="child">4</div>
</div>
请帮我模拟一下。
【问题讨论】:
-
不明白什么不行,动画没问题?
-
动画未按预期工作。
标签: javascript html css css-animations css-animation-direction