【发布时间】:2018-01-17 00:25:29
【问题描述】:
好的,所以当一个复选框处于活动状态并设法保持手风琴面板的过渡动画时,我必须禁用其他复选框,但是一旦我单击“YES”,我无法弄清楚如何切换面板复选框。 它的作用是当您单击“是”复选框时,您仍然需要单击第一个手风琴面板才能打开它。我正在寻找的是当我点击“是”复选框时,它应该切换面板。
到目前为止,这就是我得到的
<script>
var acc = document.getElementsByClassName("accordion_1");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
}
}
$(document).ready(function() {
$('#check_main').change(function() {
$('#panel_main').toggle();
var acc = document.getElementsByClassName("accordion_main");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
}
}
});
});
$(".checkbx, .GrpChk").change(function() {
this.checked ? $("." + this.className).not(this).prop("disabled", true):$("." + this.className).not(this).prop("disabled", false);
});
</script>
button.accordion_1{
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
transition: 0.4s;
}
button.accordion_1.active, button.accordion:hover {
background-color: #ddd;
}
div.panel {
padding: 0 18px;
background-color: white;
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
}
button.accordion_main{
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
transition: 0.4s;
}
button.accordion_main.active, button.accordion:hover {
background-color: #ddd;
}
div.panel_main{
padding: 0 18px;
background-color: white;
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
}
<div class="box item1">
<button class="accordion_main" id="check_holder"> TOTALLY RANDOM TEXT FOR TESTING
<div class="check_box">
<span>
<form name="aForm" action="">
<p>
<label>
<!--<input type="checkbox" name="check" id="check" value="1"> YES-->
<input class="checkbx" id="check_main" name="Role" type="checkbox" value="yes"/>YES
</label>
<label>
<input class="checkbx" name="Role" type="checkbox" value="no"/> NO
</label>
</p>
</form>
</span>
</div>
</button>
<div class="panel_main" id="panel_main" style="display:none;">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<button class="accordion_1">Section 2</button>
<div class="panel">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<button class="accordion_1">Section 3</button>
<div class="panel">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
</div>
【问题讨论】:
标签: javascript html css accordion