gpt4 book ai didi

javascript - 使用变换将 div 滑入 div

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:28 26 4
gpt4 key购买 nike

我正在使用 HTML 编写滑动表单。基本上我希望容器中只有两个 (f1|f2) 之一可见。但我不知道如何隐藏另一个 div,使其在页面上不可见。

https://jsfiddle.net/Lqu67yrw/

我已经尝试过使用 overflow: hidden; 但没有用,因为转换后"new"溢出仍然可见,但不再溢出的旧溢出仍然不可见。

index.html

<div class="container">
<div class="slider" id="slide">
<form class="f1">
<h1>Lorem ipsum</h1>
<input type="text" placeholder="F1" />
<input id="SBB" type="button" value="Show other Panel" />
</form>
<form class="f2">
<h1>dolor sit</h1>
<input type="password" placeholder="F2" />
<input id="FBB" type="button" value="Go back" />
</form>
</div>
</div>

样式.scss

.container {
width: 33%;
height: 10%;

padding: 1rem;

position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%);

background-color: #fff;
border: 2px solid #444;
box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.slider {
display: flex;
width: 200%;

transform: translateX(15%);
transition: transform 1s ease-in-out;
&.active {
transform: translateX(-35%);
transition: transform 1s ease-in-out;
}
}

.f1 {
width: 100%;
}

.f2 {
width: 100%;
margin-left: 3rem;
}

核心.js

const secondBoxBtn = document.getElementById("SBB");
const firstBoxBtn = document.getElementById("FBB");
const container = document.getElementById("slide");

secondBoxBtn.addEventListener("click", () => {
container.classList.add("active");
});
firstBoxBtn.addEventListener("click", () => {
container.classList.remove("active");
});

我希望 f1/f2 从框的边界滑到它的中心。另一个滑出盒子。

最佳答案

css 中的一些更改,并且有效,检查链接

const secondBoxBtn = document.getElementById("SBB");
const firstBoxBtn = document.getElementById("FBB");
const container = document.getElementById("slide");

secondBoxBtn.addEventListener("click", () => {
container.classList.add("active");
});
firstBoxBtn.addEventListener("click", () => {
container.classList.remove("active");
});
* {
margin: 0;
padding: 0;
font-family: "Fira Sans", sans-serif;
}

body {
background-color: #f4f4f4;
}

.container {
width: 500px;

position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%);
background-color: #fff;
border: 2px solid #444;
box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
overflow: hidden;
}

.slider {
display: block;
width: 1000px;
transform: translateX(0%);
transition: transform 1s ease-in-out;
white-space: nowrap;
padding: 1rem;


&.active {
transform: translateX(-50%);
transition: transform 1s ease-in-out;
}
}

.f1 {
width: 50%;
display:inline-block
}

.f2 {
width: 50%;
display:inline-block
}
<div class="container">
<div class="slider" id="slide">
<form class="f1">
<h1>Lorem ipsum</h1>
<input type="text" placeholder="F1" />
<input id="SBB" type="button" value="Show other Panel" />
</form>
<form class="f2">
<h1>dolor sit</h1>
<input type="password" placeholder="F2" />
<input id="FBB" type="button" value="Go back" />
</form>
</div>
</div>

https://codepen.io/Aditya055/pen/pmrRoq

关于javascript - 使用变换将 div 滑入 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56207808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com