是否可以根据这个实际一个div一次做,也就是说onclick这两个事件都打不开,但是如果一个打开另一个被点击第一个自动关闭。顺便说一句,使用此代码的上下文不允许使用 Jquery。感谢您的帮助
<style type="text/css">
.link{text-decoration:none; color:white;}
.link:visited{color:white}
.row {
display: flex; /* equal height of the children */
}
.col {
flex: 1; /* additionally, equal width */
padding: 1em;
border: solid;
}
div {font-family:'Varela Round';
}
.opener {
background-color: #07183d;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
border: 1px white solid;
}
.benefits {
background-color: #07183d;
border: none;
color: white;
padding: 15px 32px;
text-decoration: none;
display: inline-block;
font-size: 16px;
width:300px;
}
</style>
<style type="text/css">}
a {
text-decoration: none;
}
a:visited {
text-decoration: none;
color: white;
}
#upbutton {
border: 1px dotted white;
}
</style>
<script>function show(id) {
if(document.getElementById('b'+id).style.display=='none') {
document.getElementById('b'+id).style.display='block';
}
return false;
}
function hide(id) {
if(document.getElementById('b'+id).style.display=='block') {
document.getElementById('b'+id).style.display='none';
}
return false;
}
</script>
<div class="row">
<div class="opener col"><a href="#1" name="1" onclick=" show('1');" class="link">SOCIETES: 400</a>
<div class="benefits" id="b1" style="display:none;">Part SBF 120 : 120<br />
Part Filiales +100M€: 280
<div id="upbutton"><a onclick=" hide('1');" >fermer</a></div>
</div>
</div>
<div class="opener col"><a href="#1" name="1" onclick=" show('2');" class="link" >CONTACTS: 25 400</a>
<div class="benefits col" id="b2" style="display:none;">Part CAC 40 : 15 700<br />
Part Filiales +100M€: 9 700<br />
% contacts IT: 21%
<div id="upbutton"><a onclick=" hide('2');">fermer</a></div>
</div>
</div>
<div class="opener col">EMAILS NOMINATIFS: 400</div>
<div class="opener col">OPT OUT: 3%</div>
<div class="opener col">LIGNES DIRECTES: 35%</div></div>
最佳答案
您可以遍历其他元素并在“显示”函数中先关闭它们
function show(id) {
var benefits = document.getElementsByClassName("benefits");
for(var i = 0; i<benefits.length; i++){
benefits[i].style.display="none";
}
if(document.getElementById('b'+id).style.display=='none') {
document.getElementById('b'+id).style.display='block';
}
return false;
}
关于javascript - 点击事件 : divs appear one at a time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47675463/