javascript - 使用 javaScript 隐藏和显示内容

标签 javascript html css

因此,在我的示例中,我有 2 个 div 按钮(名为 btn1 和 btn2)和 2 个 div 元素(名为 content1 和 content2)。

我想要的是,当您单击 btn1 时,将显示 content1。如果您单击 btn2,content2 应该显示。

Content1 和 content2 元素当前放置在同一位置,默认情况下,在您单击任何内容之前,不应打开任何内容元素。 我想用纯 javaSript 实现这一点。

示例代码如下:

var btn1 = document.getElementById("btn1");
var content1 = document.getElementById("content1");
content1.style.opacity = "0";

btn1.addEventListener("mouseover", showContent1);

function showContent1(){
  if(content1.style.opacity === "0") {
    content1.style.opacity = "1";
  } else {content1.style.opacity = "0";}
}

var btn2 = document.getElementById("btn2");
var content2 = document.getElementById("content2");
content2.style.opacity = "0";

btn2.addEventListener("mouseover", showContent2);

function showContent2(){
  if(content2.style.opacity === "0") {
    content2.style.opacity = "1";
  } else {content2.style.opacity = "0";}
}
#btn1, #btn2 {
width:100px;height:20px;text-align:center;background:grey;cursor:pointer;margin:10px 0px;
}
#contents {
width: 200px;height:200px;border: 2px solid black;
}
#content1, #content2 {
width: 200px;height:200px;position:absolute;background:lightblue;
}
<div id="btn1">show1</div>
<div id="btn2">show2</div>
<div id="contents">
  <div id="content1">content 1</div>
  <div id="content2">content 2</div>
</div>

最佳答案

您可以向按钮添加点击事件,并根据点击的按钮显示或隐藏相应的 div。

<!DOCTYPE html>
    <html>

      <head>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>

    <style>
      #btn1, #btn2 {
width:100px;height:20px;text-align:center;background:grey;cursor:pointer;margin:10px 0px;
}
#contents {
width: 200px;
height:200px;
border: 2px solid black;
}
#content1, #content2 {
width: 200px;
height:200px;
position:absolute;
background:lightblue;
display:none;
}
    </style>
  </head>

  <body>

    <script>
      function showDiv(div){

        if(div == 'btn1'){
          document.getElementById('content1').style.display = 'block';
          document.getElementById('content2').style.display = 'none';
        }else{
          document.getElementById('content1').style.display = 'none';
          document.getElementById('content2').style.display = 'block';
        }
      }
    </script>
    <div id="btn1" onclick="showDiv('btn1')">show1</div>
<div id="btn2" onclick="showDiv('btn2')">show2</div>


<div id="contents">
  <div id="content1">content 1</div>
  <div id="content2">content 2</div>
</div>
  </body>

Plunker 同样:https://plnkr.co/edit/brxoF2ClW2TeJOVMxn8d?p=preview

关于javascript - 使用 javaScript 隐藏和显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58799397/

相关文章:

javascript - Protractor Promise fn 不是一个函数

javascript - d3.js 继续条件加载数据

html - SVG 在表格 td 内获取全高度

jquery - 如何通过Bootstrap表单获取表单数据并将其转换为JSON

html - TableView 在 Chrome 和 IE、Firefox 中显示不同

css - 是否有 CSS 父级选择器?

HTML5 Canvas 文本与具有 CSS3 样式的普通文本?

javascript - 通过 Javascript 从 CSS 文件中获取特定的 CSS 属性

javascript - 数据表标签搜索

javascript - Grunt postcss 任务排除文件