gpt4 book ai didi

javascript - 将元素平稳地移动到新位置而无需手动设置其位置

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

如果主题有点非描述性,我深表歉意。我很难用一句话来解释我想要实现的目标。

但简而言之:我试图让一个元素(在本例中为 DIV)平稳地移动到它的新位置。但需要注意的是,我没有手动设置它的位置。它收到一个新位置,因为我正在从页面流中删除其他 DIV。

<!DOCTYPE html>
<html>
<head>
<style>
.block {
width: 200px;
height: 20px;
border: 1px solid black;
margin: 20px;
}
</style>
<script>
function removeBlock() {
document.getElementById("block2").style.display = "none";
}
</script>
</head>
<body>
<div id="block1" class="block">
This is block 1
</div>
<div id="block2" class="block">
This is block 2
</div>
<div id="block3" class="block">
This is block 3
</div>

<button type="button" onclick="removeBlock();">
Remove block 2
</button>
</body>
</html>

这是 fiddle :https://jsfiddle.net/nfhycrkL/

如果单击该按钮,Block 2 会隐藏,而 Block 3 会向上移动。我希望此举顺利进行。这是可能吗?我不想使用绝对定位,因为页面是响应式的并且 DIV 的位置取决于页面大小。

最佳答案

试试这个解决方案

function removeBlock()
{
document.getElementById("block2").style.height = "0px";
document.getElementById("block2").style.margin = "0px";
document.getElementById("block2").style.borderWidth = "0px";
document.getElementById("block2").style.fontSize = "0px";
}
.block {
width: 200px;
height: 20px;
border: 1px solid black;
margin: 20px;
}

#block2 {
transition:all 0.5s linear;
}
<div id="block1" class="block">
This is block 1
</div>
<div id="block2" class="block">
This is block 2
</div>
<div id="block3" class="block">
This is block 3
</div>

<button type="button" onclick="removeBlock();">
Remove block 2
</button>

关于javascript - 将元素平稳地移动到新位置而无需手动设置其位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53758913/

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