javascript - 切换 div,如果已经打开则隐藏

标签 javascript jquery html css

我正在尝试构建一个切换面板,一旦打开,如果再次单击事件元素,它就会关闭,但如果单击同级元素,则内容会更新,只有我得到了混合结果。谁能看出我哪里出错了?

https://jsfiddle.net/9b3mecc2/

$('.sectors-list li').on('click', function(e){
  e.preventDefault(); 
  var order = $(this).index(); 
  $('.sub-sectors div').hide();
  $('.sub-sectors div').eq(order).show(); 
  if($('.digital-sectors').is(':visible')
  && order === 0){
    $('.sub-sectors').removeClass('active'); 
  } else {
      $('.sub-sectors').addClass('active'); 
  } 
});

最佳答案

您尝试做的并不复杂,只是您的代码缺少从事件元素到要显示的元素的引用,因此您可以使用 css,使用伪选择器 : target

检查文档 :target

Browser support list

div{ display: none; }
div:target{ display: block; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li><a href='#data-foo'>foo</a></li>
  <li><a href='#data-bar'>bar</a></li>
</ul>
<div id='data-foo'>data foo</div>
<div id='data-bar'>data bar</div>

关于javascript - 切换 div,如果已经打开则隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44439254/

相关文章:

javascript - 使用 SimpleModal 和 jQuery 的 Ajax WordPress 帖子弹出窗口

html - 如何创建具有多行+导航的复杂标题

javascript - 动态 svg 图标?

javascript - 如何在 D3 中的矩形上写入一段文本?

javascript - 当 JS 进入绘制循环时,如何使从 HTML 表单加载的 JS 中的值保持定义

javascript - ajax .load 调用后执行 javascript 时遇到问题

javascript - 每次单击按钮时从 PHP 页面发送的变量都会递增的问题

javascript - 如何为可拖动元素添加间隔

javascript - 单击按钮时从主页中删除元素

javascript - 将类添加到父 div 如果它有一个跨度作为 child