首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有jquery的滑动框

带有jquery的滑动框
EN

Stack Overflow用户
提问于 2018-06-09 00:01:47
回答 1查看 106关注 0票数 0

我正在创建四个盒子,点击盒子打开和幻灯片休息三个盒子。问题是当我向父类添加一个类来滑动这些框时。单击相同的框后,它会添加,但不会删除。以下是此操作的代码。

代码语言:javascript
复制
$(document).ready(function() {
  $('.box-inner').click(function() {
    $(this).siblings().removeClass('active');
    if (!$(this).hasClass('active')) {
      $(this).toggleClass('active');
    }
    //$(this).parent().removeClass('active'); 				
    //$(this).parent().addClass('active'); 			
  });
});
代码语言:javascript
复制
.main {
  width: 100%;
  float: left;
}

.box-main {
  display: flex;
}

.box-inner {
  height: 450px;
  width: 25%;
  display: flex;
  position: relative;
  transition: width 0.3s ease-in-out;
  z-index: 1;
}

.box1 {
  width: 100%;
  background: #ccc;
  border-right: 1px solid #333;
  z-index: 0;
  position: relative;
}

.box-2 {
  width: 65%;
  position: absolute;
  left: 0;
  height: 100%;
  z-index: -1;
  background: red
}

.box-main.active .box-inner.active {
  width: 70%;
}

.box-inner.active .box1 {
  width: 35%;
}

.box-inner.active .box-2 {
  position: static;
  width: 65%;
}

.box-main.active .box-inner:not(.active) {
  width: 10%;
  -webkit-transition: width .5s ease-in-out;
  transition: width .5s ease-in-out;
}


}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<div class="main">
  <div class="box-main">
    <div class="box-inner">
      <div class="box1"> hihjksdfsdfjsd </div>
      <div class="box-2"> </div>
    </div>
    <div class="box-inner">
      <div class="box1"> </div>
      <div class="box-2"> </div>
    </div>
    <div class="box-inner">
      <div class="box1"> </div>
      <div class="box-2"> </div>
    </div>
    <div class="box-inner">
      <div class="box1"> </div>
      <div class="box-2"> </div>
    </div>
  </div>
</div>

EN

回答 1

Stack Overflow用户

发布于 2018-06-09 00:07:20

您的逻辑的问题是由于if语句阻止您在元素上调用toggleClass() (如果该元素已经具有该类)。只需删除if条件:

代码语言:javascript
复制
$(document).ready(function() {
  $('.box-inner').click(function() {
    $(this).toggleClass('active').siblings().removeClass('active');
  });
});
代码语言:javascript
复制
.main {
  width: 100%;
  float: left;
}

.box-main {
  display: flex;
}

.box-inner {
  height: 450px;
  width: 25%;
  display: flex;
  position: relative;
  transition: width 0.3s ease-in-out;
  z-index: 1;
}

.box1 {
  width: 100%;
  background: #ccc;
  border-right: 1px solid #333;
  z-index: 0;
  position: relative;
}

.box-2 {
  width: 65%;
  position: absolute;
  left: 0;
  height: 100%;
  z-index: -1;
  background: red
}

.box-main.active .box-inner.active {
  width: 70%;
}

.box-inner.active .box1 {
  width: 35%;
}

.box-inner.active .box-2 {
  position: static;
  width: 65%;
}

.box-main.active .box-inner:not(.active) {
  width: 10%;
  -webkit-transition: width .5s ease-in-out;
  transition: width .5s ease-in-out;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<div class="main">
  <div class="box-main">
    <div class="box-inner">
      <div class="box1"> hihjksdfsdfjsd </div>
      <div class="box-2"> </div>
    </div>
    <div class="box-inner">
      <div class="box1"> </div>
      <div class="box-2"> </div>
    </div>
    <div class="box-inner">
      <div class="box1"> </div>
      <div class="box-2"> </div>
    </div>
    <div class="box-inner">
      <div class="box1"> </div>
      <div class="box-2"> </div>
    </div>
  </div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50764459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档