【发布时间】:2017-09-07 17:23:18
【问题描述】:
我正在创建它创建的自定义手风琴,但问题是当我单击手风琴时,我需要该手风琴上的加号和减号图标,加号手风琴打开,加号更改为减号,反之亦然,下面是给出的代码提前致谢);活动手风琴上的加号并非对所有人都发生变化。我的意思是我将点击第一个手风琴,第一个手风琴更改的加号将保持不变
HTML
<h2>Accordion</h2>
<button class="accordion">Section 1</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">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">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>
js
<script>
var acc = document.getElementsByClassName('accordion');
var i;
for(i=0;i < acc.length;i++){
acc[i].onclick = function(){
var panel = this.nextElementSibling;
if(panel.style.display =="block"){
panel.style.display ="none";
}
else{
panel.style.display ="block";
panel.class
}
}
}
</script>
CSS
button.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;
margin-bottom:5px;
}
button.accordion.active, button.accordion:hover {
background-color: #ddd;
}
button.accordion:before{
content: '\002B';
font-size: 13px;
color: #777;
font-weight: bold;
float: right;
margin-left: 5px;
}
div.panel {
padding: 4px 20px;
display: none;
background-color: #ddd;
margin-bottom:10px;
}
【问题讨论】:
-
@ Rehban Khatri 但我需要它在 javascript 中而不是在 jquery 中....
-
@guest271314 能否请您更新我的小提琴,以便我可以轻松获得它
-
您是否尝试过实现这两种关联方法中的任何一种?
-
@guest271314 47 是的,我已经这样做了
标签: javascript