gpt4 book ai didi

javascript - 单击它时如何使一个div越过另一个div?

转载 作者:行者123 更新时间:2023-11-28 16:19:11 25 4
gpt4 key购买 nike

我有这 2 个 div,当我点击 div 1 时,我希望它越过第二个 div,如果我再次点击 Div 1,我希望它回到原来的位置(我希望 Div 1 增加它的宽度因此它超过了第二个 Div)。这是我的代码,其中我的 2 个 div 彼此相邻。谁能指出我如何实现这一目标的正确方向?非常感谢!

注意:- 请不要使用 jQuery。我正在尝试使用 javascript 和 css 来完成此任务。

#parent {
display: flex;
}
#narrow {
width: 200px;
background: lightblue;
}
#wide {
flex: 1;
background: lightgreen;
}
<div id="parent">
<div id="wide">Div 1</div>
<div id="narrow">Div 2</div>
</div>

最佳答案

如果你愿意放弃 flex,你可以结合使用 floatpostion:absolutetransition 这样主 div “滑过”另一个 div

document.querySelector("#wide").onclick = toggleWidth;

function toggleWidth() {
this.classList.toggle("active");
}
#parent {
position: relative;
}

#narrow {
width: 200px;
background: lightblue;
float: right;
}

#wide {
position: absolute;
background: lightgreen;
width: calc(100% - 200px);
transition: width 2s;
}

#wide.active {
width: 100%;
opacity: 0.9;
}
<div id="parent">
<div id="wide">Div 1</div>
<div id="narrow">Div 2</div>
</div>

注意:更改不透明度完全是可选的,我这样做只是为了进一步说明“滑过”效果。

关于javascript - 单击它时如何使一个div越过另一个div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54450813/

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