gpt4 book ai didi

javascript - 当我隐藏前一个面板时,下一个面板向左移动到前一个面板的位置,我希望它保持原样

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

当我单击 Button1 时,Panel1 被隐藏,所有按钮的功能相同。但是当我隐藏 Panel1 时,Panel2 被移动到 Panel1 的位置,我想在它原来的位置。请帮助我

<head>
<title>JQuery Event Listener</title>

<script src = "jquery-3.0.0.js"></script>

<style>
header {
background-color: gray;
text-align: center;
}

main {
padding-left: 39%;
position: relative;
}

.panel {
display: inline-block;
}

.panel-Heading {
background-color: blue;
width: 60px;
padding: 5px;
border: 1px groove;
}

.panel-Body {
width: 60px;
padding: 5px;
border: 1px solid;
}
</style>

</head>

<body>
<header>
<br>
<h1>Let's Have Fun!</h1>
<button id = "btn1" data-panel="1">Button1</button>
<button id = "btn2" data-panel="2">Button2</button>
<button id = "btn3" data-panel="3">Button3</button>
<button id = "btn4" data-panel="4">Button4</button>
<br><br>
</header>

<br><br>

<main>
<div id="panel1" class="panel">
<div class = "panel-Heading">Panel1</div>
<div class = "panel-Body">Content</div>
</div>

<div id="panel2" class="panel">
<div class = "panel-Heading">Panel2</div>
<div class = "panel-Body">Content</div>
</div>

<div id="panel3" class="panel">
<div class = "panel-Heading">Panel3</div>
<div class = "panel-Body">Content</div>
</div>

<div id="panel4" class="panel">
<div class = "panel-Heading">Panel4</div>
<div class = "panel-Body">Content</div>
</div>
</main>
<script>
$(function(){

$("#btn1").on('click', function() {
$("#panel1").fadeToggle();
});

$("#btn2").on('click', function() {
$("#panel2").fadeToggle();
});

$("#btn3").on('click', function() {
$("#panel3").fadeToggle();
});

$("#btn4").on('click', function() {
$("#panel4").fadeToggle();
});

});
</script>
</body>

最佳答案

width: 60px; 添加到您的 .panel 类:

.panel {
display: inline-block;
width: 60px;
}

...然后嵌套您想要隐藏在其中的 div:

<div class="panel">
<div id="panel1">
<div class = "panel-Heading">Panel1</div>
<div class = "panel-Body">Content</div>
</div>
</div>
<div class="panel">
<div id="panel2">
<div class = "panel-Heading">Panel2</div>
<div class = "panel-Body">Content</div>
</div>
</div>
<div class="panel">
<div id="panel3">
<div class = "panel-Heading">Panel3</div>
<div class = "panel-Body">Content</div>
</div>
</div>
<div class="panel">
<div id="panel4">
<div class = "panel-Heading">Panel4</div>
<div class = "panel-Body">Content</div>
</div>
</div>

这将导致嵌套的 div 在单击按钮时消失,而外部 div 保留在原位以保留空间。

此外,由于您的 JavaScript 低于它将影响的元素,因此您无需等待文档准备就绪。您还编写了比您需要的更多的点击处理程序。您可能可以将所有 JavaScript 换成以下代码:

$(".panel").on('click', function() {
$(this).children().first().fadeToggle();
});

关于javascript - 当我隐藏前一个面板时,下一个面板向左移动到前一个面板的位置,我希望它保持原样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38288700/

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