当前位置: 首页 > 知识库问答 >
问题:

如何使用复选框制作显示和隐藏段落

董宜然
2023-03-14

我在下面的代码中尝试实现的是,默认情况下,当我单击home复选框时,不显示home标题和段落,然后显示它

当我解开它的时候,它就隐藏起来了

我的功能在下面的代码中运行良好,但我无法实现这一点

当我点击home复选框,然后段落显示,当取消点击,然后隐藏

检查我下面的代码,当我运行文件时,我在我的代码中发布,默认情况下,主页段落显示。

但我想实现后点击复选框,然后显示所有的东西。并且我想尝试当我运行页面时,只有复选框是显示后点击复选框,然后显示和隐藏的东西。

null

function myFunction() {
  var checkBox = document.getElementById("myCheck");
  var text = document.getElementById("text");
  if (checkBox.checked == true){
    text.style.display = "block";
  } else {
     text.style.display = "none";
  }
}

function myFunction1() {
  var checkBox = document.getElementById("myCheck1");
  var text1 = document.getElementById("text1");
  if (checkBox.checked == true){
    text1.style.display = "block";
  } else {
     text1.style.display = "none";
  }
}

function myFunction2() {
  var checkBox = document.getElementById("myCheck2");
  var text2 = document.getElementById("text2");
  if (checkBox.checked == true){
    text2.style.display = "block";
  } else {
     text2.style.display = "none";
  }
}
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<div class="container">
  <input class="mr-1" type="checkbox" id="myCheck2" onclick="myFunction2()">home
  <input class="mr-1" type="checkbox" id="myCheck" onclick="myFunction()">menu 1
  <input class="mr-1" type="checkbox" id="myCheck1" onclick="myFunction1()">menu 2

 
</div>


<div class="container">
  <br>
  <!-- Nav pills -->
  <ul class="nav nav-pills" role="tablist">
    <li class="nav-item" id="text2" style="display:none">
      <a class="nav-link active" data-toggle="pill" href="#home">Home</a>
    </li>
    <li class="nav-item" id="text" style="display:none">
      <a class="nav-link" data-toggle="pill" href="#menu1">Menu 1</a>
    </li>
  <li class="nav-item" id="text1" style="display:none">
      <a class="nav-link" data-toggle="pill" href="#abc">Menu 2</a>
    </li>
  </ul>

  <!-- Tab panes -->
  <div class="tab-content">
    <div id="home" class="container tab-pane active" ><br>
      <h3>HOME</h3>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
    </div>
    <div id="menu1" class="container tab-pane fade"><br>
    
      <h3>Menu 1</h3>
     
    </div>
     <div id="abc" class="container tab-pane fade"><br>
      <h3>Menu 2</h3>
      <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
    </div>
    
</div>

null

这方面有什么帮助吗?非常感谢。

共有1个答案

梁丘飞鸾
2023-03-14

为了简单起见,我在这里使用了两个函数。首先是原始的myfunction(),它通过ID选择单个元素并显示和隐藏它们。我使用activefade类分别显示隐藏引导导航丸。若要显示选项卡窗格,您需要追加活动类并删除淡入类;若要隐藏它,您需要删除活动类并添加淡入类。

现在,对于第二个动态方法hideShowById(event),我使用了我通过事件获取的目标元素信息,并执行了相同的show hide过程,只是数据是从源元素中挑选出来的,就像bootstrap所做的那样。

null

function myFunction() {
  var checkBox = document.getElementById("myCheck");
  var text = document.getElementById("menu1");
  if (checkBox.checked == true){
    text.classList.add("active");
    text.classList.remove("fade");
  } else {
    text.classList.remove("active");
    text.classList.add("fade");
  }
}

function hideShowById(event) {
  var checkBoxChecked = event.checked;
  var text = document.getElementById(event.getAttribute('data-toggle'));
  if (checkBoxChecked == true){
    text.classList.add("active");
    text.classList.remove("fade");
  } else {
    text.classList.remove("active");
    text.classList.add("fade");
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
 
<div class="container">
  <input class="mr-1" type="checkbox" id="myCheck2" onclick="hideShowById(this)" data-toggle="home" checked>
  <label for="myCheck2">home</label>
  <input class="mr-1" type="checkbox" id="myCheck" onclick="myFunction()">
  <label for="myCheck">menu 1</label>
  <input class="mr-1" type="checkbox" id="myCheck1" onclick="hideShowById(this)" data-toggle="abc">
  <label for="myCheck1">menu 2</label>
</div>

<div class="container">
  <br>
  <!-- Nav pills -->
  <ul class="nav nav-pills" role="tablist">
    <li class="nav-item" id="text2" style="display:none">
      <a class="nav-link active" data-toggle="pill" href="#home">Home</a>
    </li>
    <li class="nav-item" id="text" style="display:none">
      <a class="nav-link" data-toggle="pill" href="#menu1">Menu 1</a>
    </li>
  <li class="nav-item" id="text1" style="display:none">
      <a class="nav-link" data-toggle="pill" href="#abc">Menu 2</a>
    </li>
  </ul>

  <!-- Tab panes -->
  <div class="tab-content">
    <div id="home" class="container tab-pane active"><br>
      <h3>HOME</h3>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
    </div>
    <div id="menu1" class="container tab-pane fade"><br>      
      <h3>Menu 1</h3>
    </div>
     <div id="abc" class="container tab-pane fade"><br>
      <h3>Menu 2</h3>
      <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
    </div>
    
</div>
 类似资料:
  • 问题内容: 我想做的是在选中标签+复选框时显示并隐藏div。(仅CSS) 因此,如果单击(选中)[注册]。隐藏自身(div.remove- check)并显示隐藏的输入(div#email)。我以为我拥有的代码就足够了,但事实并非如此。我究竟做错了什么? 我的代码: HTML: CSS: 这是用来向您展示我正在使用的工具的 小提琴 。 提前谢谢你的帮助。 问题答案: 当前CSS中没有父选择器,这就

  • 问题内容: 在我的脚本中有三个div。我想在第一行悬停时显示div ,而在第二行悬停时显示。否则,我想默认显示div 。 但它永远不会显示带有的div 。 问题答案: 你需要 原始CSS中的问题是in css选择器启动了一个全新的选择器。它没有结合..所以意味着和。您将其设置为始终对所有元素都隐藏。

  • 排除不显示字段 Model.findAll({ attributes: { exclude: ['baz'] } });

  • 本文向大家介绍如何使用animate(),隐藏和显示元素?,包括了如何使用animate(),隐藏和显示元素?的使用技巧和注意事项,需要的朋友参考一下 使用和方法来隐藏和显示元素。 示例 您可以尝试运行以下代码,以了解如何使用方法来隐藏和显示元素:

  • 我的p:dataTable是这样设置的。 感谢任何帮助

  • 我通常使用以下代码隐藏键盘: 该代码总是为我工作,但现在我试图使用它来隐藏它当用户失去焦点从AlertDialog,我有一个警报对话框,包含一个视图与编辑文本和按钮 不幸的是,我得到的结果是,键盘会立即隐藏和打开,当失去AlertDialog的焦点时,我还有什么办法隐藏键盘?