提问者:小点点

在onclick事件发生后,我如何停止CSS面板相互坐在一起?


我有两个“onclick”按钮,它们都打开各自的面板。需要什么代码来确保您必须先'x'选定的面板,然后才能通过“其他”按钮查看其他面板?当前,如果你一个接一个地点击,它们就会一个接一个地坐在上面。

这段代码的框架摘自W3学校网站:

下面是我的代码。

  <!DOCTYPE html>
<html>
<title>Website</title>
<meta name="viewport" content="width=device-width, initial-scale=1">

<style>
.button {
  border:none;
  display:inline-block;
  padding:8px 16px;
  vertical-align:middle;
  overflow:hidden;
  text-decoration:none;
  color:#000;
  background-color:#ffffff;
  text-align:center;
  cursor:pointer;
  white-space:nowrap;
  border: 1px solid #000;
 }
 
 
.button:hover {
  color:#000!important;
  background-color:#ccc!important;
}
 
.closebtn {
  border:none;
  display:inline-block;
  padding:8px 16px;
  vertical-align:middle;
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  background-color:#000;
  text-align:center;
  cursor:pointer;
  white-space:nowrap;
  position: absolute;
  right:0;
  top:0
 }
 
 .closebtn:hover {
  color:#000!important;
  background-color:#ccc!important;
}

.container,.w3-panel {
padding:0.01em 16px
}

.panel {
margin-top:16px;
margin-bottom:16px;
background-color: #ffffff;
}

.tooltip,.display-container  {
    position:relative
    
}

.tooltip .text {
display:none
}

.tooltip:hover .text {
display:inline-block
}

.display-container:hover display-hover {
display:block
}

.display-container:hover span.display-hover {
display:inline-block
}

.display-hover {
display:none}

.display-topright {
position:absolute;right:0;top:0
}

.cvheader {
  font-family: 'Libre Baskerville', serif;
  font-size: 16px;
  font-weight: bold;    
}

.pCV {
  font-family: 'Libre Baskerville', serif;
  font-size: 16px;
  line-height: 1.6;
  padding: 0;
}
</style>
<body>

<button class="button" onclick="document.getElementById('id01').style.display='block'">CV 1</button> 

<button class="button" onclick="document.getElementById('id02').style.display='block'">CV 2</button> 

<div id="id01" class="panel display-container" style="display:none">
  <span onclick="this.parentElement.style.display='none'"
  class="closebtn">x</span>
  <h2 class="cvheader">RECENT/ UPCOMING PRESENTATIONS</h2>
                  <br>
                  <p class="pCV">Exhibitions, commisions.</p>
                  <p class="pCV">Exhibitions, commisions.</p>
</div>

<div id="id02" class="panel display-container" style="display:none">
  <span onclick="this.parentElement.style.display='none'"
  class="closebtn">x</span>
  <h2 class="cvheader">PUBLIC EVENTS</h2>
                  <br>
                  <p class="pCV">Talks, Exhibitions </p>
                  <p class="pCV">Talks, Exhibitions </p>
                  
</div>

</body>
</html>

共1个答案

匿名用户

 <!DOCTYPE html>
<html>
<title>Website</title>
<meta name="viewport" content="width=device-width, initial-scale=1">

<style>
.button {
  border:none;
  display:inline-block;
  padding:8px 16px;
  vertical-align:middle;
  overflow:hidden;
  text-decoration:none;
  color:#000;
  background-color:#ffffff;
  text-align:center;
  cursor:pointer;
  white-space:nowrap;
  border: 1px solid #000;
 }
 
 
.button:hover {
  color:#000!important;
  background-color:#ccc!important;
}
 
.closebtn {
  border:none;
  display:inline-block;
  padding:8px 16px;
  vertical-align:middle;
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  background-color:#000;
  text-align:center;
  cursor:pointer;
  white-space:nowrap;
  position: absolute;
  right:0;
  top:0
 }
 
 .closebtn:hover {
  color:#000!important;
  background-color:#ccc!important;
}

.container,.w3-panel {
padding:0.01em 16px
}

.panel {
margin-top:16px;
margin-bottom:16px;
background-color: #ffffff;
}

.tooltip,.display-container  {
    position:relative
    
}

.tooltip .text {
display:none
}

.tooltip:hover .text {
display:inline-block
}

.display-container:hover display-hover {
display:block
}

.display-container:hover span.display-hover {
display:inline-block
}

.display-hover {
display:none}

.display-topright {
position:absolute;right:0;top:0
}

.cvheader {
  font-family: 'Libre Baskerville', serif;
  font-size: 16px;
  font-weight: bold;    
}

.pCV {
  font-family: 'Libre Baskerville', serif;
  font-size: 16px;
  line-height: 1.6;
  padding: 0;
}
</style>
<body>

<button class="button" onclick="openCV1()">CV 1</button> 

<button class="button" onclick="openCV2()">CV 2</button> 

<div id="id01" class="panel display-container" style="display:none">
  <span onclick="this.parentElement.style.display='none'"
  class="closebtn">x</span>
  <h2 class="cvheader">RECENT/ UPCOMING PRESENTATIONS</h2>
                  <br>
                  <p class="pCV">Exhibitions, commisions.</p>
                  <p class="pCV">Exhibitions, commisions.</p>
</div>

<div id="id02" class="panel display-container" style="display:none">
  <span onclick="this.parentElement.style.display='none'"
  class="closebtn">x</span>
  <h2 class="cvheader">PUBLIC EVENTS</h2>
                  <br>
                  <p class="pCV">Talks, Exhibitions </p>
                  <p class="pCV">Talks, Exhibitions </p>
                  
</div>

</body>
</html>

在js文件中可以添加以下代码:

function openCV1() {
if (document.getElementById('id02').style.display !='block') {

document.getElementById('id01').style.display='block';
}
}

function openCV2() {
if (document.getElementById('id01').style.display !='block') {


document.getElementById('id02').style.display='block'
}
}