因此,我为一个页面创建了3个手风琴(项目1,项目2,项目3) 当您单击它们时,另一个手风琴将显示以下内容:
- 跟踪
- 地址
- 日期
当您单击其中之一时,假定会显示信息。但是,当我单击“跟踪和地址”时,“日期”将被推开。我希望同时显示所有信息。我不希望任何东西被“推出”。有人可以告诉我我可能做错了什么吗?
我提供了一个JS小提琴,以便您有更好的主意。 https://jsfiddle.net/silosc/8qpuso01/
我的文件,全部显示在一页上。
<button class="accordion">Item 1</button>
<div class="panel">
<button class="accordion">Tracking Number</button>
<div class="panel">
<div class="row">
<div class="col-sm-4">
<label>Tracking #:</label>
<input />
</div>
<div class="col-sm-4">
<label>From Street:</label>
<input />
</div>
<div class="col-sm-4">
<label> To Street:</label>
<input />
</div>
</div>
</div>
<button class="accordion">Address</button>
<div class="panel">
<div class="row">
<div class="col-sm-4">
<label>Tracking #:</label>
<input />
</div>
<div class="col-sm-4">
<label>From Street:</label>
<input />
</div>
<div class="col-sm-4">
<label> To Street:</label>
<input />
</div>
</div>
</div>
<button class="accordion">Date</button>
<div class="panel">
<div class="row">
<div class="col-sm-4">
<label>Tracking #:</label>
<input />
</div>
<div class="col-sm-4">
<label>From Street:</label>
<input />
</div>
<div class="col-sm-4">
<label> To Street:</label>
<input />
</div>
</div>
</div>
</div>
<button class="accordion">Item 2</button>
<div class="panel">
<button class="accordion">Tracking Number</button>
<div class="panel">
<div class="row">
<div class="col-sm-4">
<label>Tracking #:</label>
<input />
</div>
<div class="col-sm-4">
<label>From Street:</label>
<input />
</div>
<div class="col-sm-4">
<label> To Street:</label>
<input />
</div>
</div>
</div>
<button class="accordion">Address</button>
<div class="panel">
<div class="row">
<div class="col-sm-4">
<label>Tracking #:</label>
<input />
</div>
<div class="col-sm-4">
<label>From Street:</label>
<input />
</div>
<div class="col-sm-4">
<label> To Street:</label>
<input />
</div>
</div>
</div>
<button class="accordion">Date</button>
<div class="panel">
<div class="row">
<div class="col-sm-4">
<label>Tracking #:</label>
<input />
</div>
<div class="col-sm-4">
<label>From Street:</label>
<input />
</div>
<div class="col-sm-4">
<label> To Street:</label>
<input />
</div>
</div>
</div>
</div>
<button class="accordion">Item 3</button>
<div class="panel">
<button class="accordion">Tracking Number</button>
<div class="panel">
<div class="row">
<div class="col-sm-4">
<label>Tracking #:</label>
<input />
</div>
<div class="col-sm-4">
<label>From Street:</label>
<input />
</div>
<div class="col-sm-4">
<label> To Street:</label>
<input />
</div>
</div>
</div>
<button class="accordion">Address</button>
<div class="panel">
<div class="row">
<div class="col-sm-4">
<label>Tracking #:</label>
<input />
</div>
<div class="col-sm-4">
<label>From Street:</label>
<input />
</div>
<div class="col-sm-4">
<label> To Street:</label>
<input />
</div>
</div>
</div>
<button class="accordion">Date</button>
<div class="panel">
<div class="row">
<div class="col-sm-4">
<label>Tracking #:</label>
<input />
</div>
<div class="col-sm-4">
<label>From Street:</label>
<input />
</div>
<div class="col-sm-4">
<label> To Street:</label>
<input />
</div>
</div>
</div>
</div>
<script>
var acc = document.getElementsByClassname("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].addEventListener("click",function () {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight) {
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
}
</script>
<style>
.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
transition: 0.4s;
color: orangered;
}
.accordion:hover {
background-color: #ccc;
}
.accordion:after {
content: '\002B';
color: #777;
font-weight: bold;
float: right;
margin-left: 5px;
}
.active:after {
content: "\2212";
}
.panel {
padding: 0 18px;
background-color: white;
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
}