javascript - 创建具有高度调整的垂直切换

标签 javascript jquery html css toggle

我相信我很接近。然而,我的开关在水平方向上工作得很好,而不是在垂直方向上。当我的切换是垂直的时,切换的信息只能在第三个切换下看到,而不是直接在其分配的切换标题下(希望这是有道理的 - 在编码中看到)我似乎也无法为切换添加可调节的高度,我'试过无数种方法都没有用。我想让高度成为内容的高度。任何帮助将不胜感激。

 var divs = ["Soft", "Broch", "tut"];
    var visibleDivId = null;

    function toggleVisibility(divId) {
      if(visibleDivId === divId) {
        visibleDivId = null;
      } else {
        visibleDivId = divId;
      }

      hideNonVisibleDivs();
    }

    function hideNonVisibleDivs() {
      var i, divId, div;

      for(i = 0; i < divs.length; i++) {
        divId = divs[i];
        div = document.getElementById(divId);

        if(visibleDivId === divId) {
          div.style.display = "block";
        } else {
          div.style.display = "none";
        }
      }
    }
a{
  display: block;
}
  <a href="#" onclick="toggleVisibility('Soft');">soft</a>
  <a href="#" onclick="toggleVisibility('Broch');">broch</a>
  <a href="#" onclick="toggleVisibility('tut');">tut</a>
  
  <div id="Soft"  style="display: none;">Soft div</div>
  <div id="Broch" style="display: none;">broch div</div>
  <div id="tut"   style="display: none;">tut div</div>

切换功能工作正常。按一个切换其他是不活动的。任何建议都将非常有帮助

最佳答案

仅仅改变 dom 中的顺序还不够吗?

  <a href="#" onclick="toggleVisibility('Soft');">soft</a>
  <div id="Soft" style="display: none;">Soft div</div>

  <a href="#" onclick="toggleVisibility('Broch');">broch</a>
  <div id="Broch" style="display: none;">broch div</div>

  <a href="#" onclick="toggleVisibility('tut');">tut</a>
  <div id="tut" style="display: none;">tut div</div>

关于javascript - 创建具有高度调整的垂直切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32740153/

相关文章:

javascript - 当代码位于不同文件中时,使简单的 promise 起作用的问题

javascript - 使用 .map 索引作为键时,为什么 React 无法渲染 JSX 元素数组中的更改?

javascript - 为什么我的 requestAnimFrame 仍然很慢?

jQuery 不适用于 Ajax 生成的内容

javascript - 检查页面中的任何 input 或 textarea 元素是否不为空

javascript - 为什么我的 Ajax 加载 php 页面?

javascript - 如何检查函数是否有参数以及参数是否为数字

javascript - 创建 HTML5 钢琴卷帘编辑器

javascript - 如何使用 jquery 创建新元素

javascript - jquery 创建的 data-* 有时无法解析