当我隐藏上一个面板时,下一个面板会向左移动到前一个面板的位置,我希望它保持原样
when i hide the previous panel the next panel is moved leftward to the previous one's place and i want it to be there as it was
当我单击按钮1时,面板1被隐藏,所有按钮的功能相同。但是当我隐藏 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();
});
试试这个
$(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();
});
});
.main {
width : 100%;
}
.main .panel-container{
display: inline-block;
width : 24% !important;
}
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;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<head>
<title>JQuery Event Listener</title>
<script src = "jquery-3.0.0.js"></script>
<style>
</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>
<div class="main">
<div class="panel-container">
<div id="panel1" class="panel">
<div class = "panel-Heading">Panel1</div>
<div class = "panel-Body">Content</div>
</div>
</div>
<div class="panel-container">
<div id="panel2" class="panel">
<div class = "panel-Heading">Panel2</div>
<div class = "panel-Body">Content</div>
</div>
</div>
<div class="panel-container">
<div id="panel3" class="panel">
<div class = "panel-Heading">Panel3</div>
<div class = "panel-Body">Content</div>
</div>
</div>
<div class="panel-container">
<div id="panel4" class="panel">
<div class = "panel-Heading">Panel4</div>
<div class = "panel-Body">Content</div>
</div>
</div>
</div>
</body>
相关文章:
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 计算CSS3缩放框在另一个框中的最高位置
- JavaScript幻灯片显示,每个幻灯片的下一个按钮都有不同的位置
- jQuery toogle-一个打开,另一个隐藏-在代码中的任何位置
- 一个html/javascript'小工具'知道用户何时单击了小部件外的任意位置
- 我如何创建一个动态地图来显示我们公司的位置
- jQuery/Javascript>on单击将文本放置在最后一个已知的光标位置
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- 在 Physicsjs 中的固定位置制作一个身体
- 另一个元素JAVAscript中的元素位置
- 注入<脚本>标签给它一个合适的位置
- XPath以基于另一个节点按位置选择节点's的位置
- 为什么我在 webpack 中需要 html 文件时会得到一个位置字符串
- 使用地理位置创建一个显示我当前位置的按钮
- 一个在同一位置更新的PHP计算器
- 我想滚动放大和缩小一个图像,但也有针在该图像上保持正确的位置.jQuery
- 在光标位置的文本区域中插入一个字符串,并进行一些更改
- Caret函数没有'如果插入符号在最后一个位置,就不能正常工作
- 是否可以将一个元素还原为它's上一个位置,而不将该位置作为参数传递
- jQuery-每个特定滚动位置一个触发器