javascript - 在切换时显示/隐藏子 div

标签 javascript jquery html css

当内容显示在第二个盒子下面时,在盒子容器中,我希望它被移动到最左边,在两个盒子下面,如果我有多个盒子,在多行上,内容应该放在与点击框同一行的所有框下方,这是我目前所拥有的:

$('.show').click(function() {
  $(this).parent().parent().find('.content').slideToggle();
  $(this).parent().parent().siblings().find('.content').slideUp('fast');
});
.site-container {
  max-width: 1200px;
}

.container {
  display: flex;
  flex-wrap: wrap;
}

.box {
  width: 200px;
  height: 100px;
  border: 2px solid red;
  margin: 0 50px 20px 0;
}

.box-container {
  width: 250px;
}

.content {
  width: 1200px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="site-container">
  <div class="container">
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
  </div>
</div>

https://codepen.io/tonyart/pen/VwwBzbP

最佳答案

试试这个

$('.show').click(function(){
  $(this).parent().parent().find('.content').slideToggle();
  $(this).parent().parent().siblings().find('.content').slideUp('fast');  });
.site-container {
  max-width:1200px;
}
.container {
  display:flex;
  flex-wrap:wrap;
  position:relative;
}
.box {
  width:auto;
  height:100px;
  border:2px solid red;
  margin:0 50px 20px 0;
}
.box-container {
  width:20%;
}
.content {
  width:1200px;
  position: absolute;
  left: 10px;
bottom: -10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="site-container">
  <div class="container">
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
        <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
    <div class="box-container">
      <div class="box">
        <button class="show">show</button>
      </div>
      <div class="content" style="display:none">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
    </div>
  </div>
</div>

关于javascript - 在切换时显示/隐藏子 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58820066/

相关文章:

javascript - React Native 底部选项卡导航不起作用

javascript - 计算 Dynamics crm 中查找字段的长度

javascript - Promise.all 在第二次运行时是否不起作用?为什么不?

css - 如何摆脱 chrome 浏览器中 textarea 底部与其包装 div 之间的差距?

php - str_ireplace 或 preg_replace 将中断标记替换为\r\n

javascript - 当我尝试从属性值获取 HTML 数据时,为什么会出现错误?

javascript - 如何使用 jQuery 或 JS 将 < 和 > 替换为 < 和 >

jquery - 使用 DataTables Ajax 将数据发布到 php Controller

javascript - 在显示页面加载之前隐藏 HTML 元素的正确方法是什么?

html - 是否有任何理由在 html 中使用 <p> 标签而不是 <pre> 标签