javascript - 显示/隐藏按钮消失

标签 javascript

$(document).ready(function() {
  $("button").click(function() {
    $("#incl").toggle(500);
    $(this).hide();
    $("button").text('hide');
  });
});
#incl {
  display: none;
}
.incl {
  position: absolute;
  z-index: 800;
  background-color: #00689C;
  text-align: left;
  padding: 0 5px 5px 5px;
  color: #ffffff;
  font-size: 1.25em;
  border-radius: 3px;
  line-height: 1.5em;
  margin: -197px -10px 0 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
  $(document).ready(function() {
    $("button").click(function() {
      $("#incl").toggle(500);
      $(this).hide();
      $("button").text('hide');
    });
  });
</script>

<button>INCLUDES</button>
<div id="incl">
  <ul class="incl">
    <li>bla bla bla</li>
    <li>bla ti bla</li>
    <li>bla bla</li>
  </ul>
</div>

当我运行此场景时,按钮消失。 我想要发生的是回显“包含”的按钮必须回显“隐藏” 我正在尝试制作一个显示项目详细信息然后隐藏它们的按钮。

最佳答案

这应该就是您要找的。使用 $(this).text() (不带任何参数)将获取按钮的当前文本。我存储它,然后根据当前设置进行交换,并在“隐藏”或“包含”之间切换。

您还可以执行以下任一操作:

  • 创建两个按钮和两个点击处理程序。第一个显示按钮将显示“隐藏”按钮,显示内容,并隐藏“显示”按钮。第二个隐藏按钮将起到相反的作用。
  • 如果正在显示内容(在函数外部),则设置一个 bool 值。然后,一个 if/else 语句将确定它是否已设置:
if ( contentShown )
{
    $('#content').hide();
    $('#button').text('Show');
}
else
{
    $('#content').show();
    $('#button').text('Hide');
}
contentShown = !contentShown;  //Invert contentShown (Set it to true if false, or false if true)

请注意,我注释掉了 CSS 中的边距/位置,以将其显示在下面的代码片段中。

  $(document).ready(function() {
    $("#toggle").click(function() {
      $("#incl").toggle(500);
      var currentText = $(this).text();
      $(this).text(currentText == "INCLUDES" ? "HIDE" : "INCLUDES");
    });
  });
#incl {
  display: none;
}
.incl {
  /*position: absolute;*/
  z-index: 800;
  background-color: #00689C;
  text-align: left;
  padding: 0 5px 5px 5px;
  color: #ffffff;
  font-size: 1.25em;
  border-radius: 3px;
  line-height: 1.5em;
  /*margin: -197px -10px 0 0;*/
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<button id="toggle">INCLUDES</button>
<div id="incl">
  <ul class="incl">
    <li>bla bla bla</li>
    <li>bla ti bla</li>
    <li>bla bla</li>
  </ul>
</div>

关于javascript - 显示/隐藏按钮消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39839585/

相关文章:

javascript - 在 Https 上使用 Express.js 在 Node.js 上配置 ATS

javascript - 在按钮单击事件上初始化 AMCharts

javascript - 使图像适合屏幕并允许默认缩放行为

javascript - 仅过滤 3 列中的 2 列

javascript - d3 选择与 exit() 和 remove() 混淆

javascript - 使用 Puppeteer 检查网站是否响应

javascript - 我们可以将动态背景图像附加到动态类吗

javascript - 如何在 D3.js 中更改径向树的根

javascript - 将html文件作为innerHTML的值传递

javascript - 到处禁止 .preventDefault()