jquery - Bootstrap 4 |单击时翻转卡片()

标签 jquery twitter-bootstrap

CSS :active 在 mouseDown 时翻转我的卡片。我需要的是用 JQuery click() 替换 mouseDown 事件,这样我的卡片就会保持翻转状态,直到我再次单击它。

我尝试了一些 JQuery 选项,但没有任何效果。

这是工作的CSS(鼠标按下时)

.flip-card {
  background-color: transparent; 
  perspective: 1000px;  
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;
  box-shadow: 0 8px 10px 0 rgba(90,90,90,0.2)
}


.flip-card:active .flip-card-inner {   
  transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}



.flip-card-back {

  transform: rotateY(180deg);
}

这是HTML

<div class="card mb-3  " style="border:0;"  >
<div class="flip-card mb-3 ">

  <div class="flip-card-inner"  >
  <div class="flip-card-front"> 
  <!--Card image-->
  <div class="view overlay">
    <img src="https://mdbootstrap.com/img/Photos/Horizontal/Nature/4-col/img%20%287%29.jpg" class="img-fluid" alt="">
    <a href="#">
      <div class="mask rgba-white-slight"></div>
    </a>
  </div>

  <!--Card content-->
  <div  class="card-body   " style="border:0; " >       
    <!--Title-->
    <h4 class="card-title">Card title 1</h4>
    <!--Text-->
    <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's
      content.</p>
    <button class="btn btn-primary" id="btnflip1"  >Front</button>
  </div>


  </div>


  <div class="flip-card-back" >
  <!--Card image-->
  <div class="view overlay">
    <img src="https://mdbootstrap.com/img/Photos/Horizontal/Nature/4-col/img%20%287%29.jpg" class="img-fluid" alt="">
    <a href="#">
      <div class="mask rgba-white-slight"></div>
    </a>
  </div>

  <!--Card content-->
  <div  class="card-body   " style="border:0; " >   
    <!--Title-->
    <h4 class="card-title">Card title 2</h4>
    <!--Text-->
    <p class="card-text">This is the back</p>
    <button class="btn btn-primary" id="btnflip2" >Back</button>  
  </div>

  </div>

  </div>  
  </div>  
</div>   

我需要在 click() 事件上使用 JQuery 来翻转卡片。我无法使用 MD,并且这个库对我不起作用:https://nnattawat.github.io/flip/

非常感谢

最佳答案

我刚刚使用了一个名为“.flipped”的类,您之前有 :active 选择器。

然后,当单击卡片时,我使用 jquery 来切换翻转的类。

$('.flip-card').on('click', 
  function(){
    $(this).toggleClass('flipped')
  }
)
.flip-card {
  background-color: transparent; 
  perspective: 1000px;  
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;
  box-shadow: 0 8px 10px 0 rgba(90,90,90,0.2)
}


.flip-card.flipped .flip-card-inner {   
  transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}



.flip-card-back {

  transform: rotateY(180deg);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="card mb-3" style="border:0;"  >
<div class="flip-card mb-3 ">

  <div class="flip-card-inner"  >
  <div class="flip-card-front"> 
  <!--Card image-->
  <div class="view overlay">
    <img src="https://mdbootstrap.com/img/Photos/Horizontal/Nature/4-col/img%20%287%29.jpg" class="img-fluid" alt="">
    <a href="#">
      <div class="mask rgba-white-slight"></div>
    </a>
  </div>

  <!--Card content-->
  <div  class="card-body" style="border:0;" >       
    <!--Title-->
    <h4 class="card-title">Card title 1</h4>
    <!--Text-->
    <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's
      content.</p>
    <button class="btn btn-primary" id="btnflip1"  >Front</button>
  </div>


  </div>


  <div class="flip-card-back" >
  <!--Card image-->
  <div class="view overlay">
    <img src="https://mdbootstrap.com/img/Photos/Horizontal/Nature/4-col/img%20%287%29.jpg" class="img-fluid" alt="">
    <a href="#">
      <div class="mask rgba-white-slight"></div>
    </a>
  </div>

  <!--Card content-->
  <div  class="card-body" style="border:0;" >   
    <!--Title-->
    <h4 class="card-title">Card title 2</h4>
    <!--Text-->
    <p class="card-text">This is the back</p>
    <button class="btn btn-primary" id="btnflip2" >Back</button>  
  </div>

  </div>

  </div>  
  </div>  
</div>

关于jquery - Bootstrap 4 |单击时翻转卡片(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57512246/

相关文章:

jquery - 根据页面不同地设计 WordPress Contact Form 7

javascript - 我的脚本加载太晚

javascript - Bootstrap 导致我的下拉按钮随着 jquery 自动完成而消失

css - 如何显示<asp :Menu> as bootstrap navbar

javascript - 如何在 Microsoft Edge 中使用 Bootstrap Datepicker

php - 如何动态获取图像从wordpress到图像幻灯片?

Jquery对表数据进行排序

php - 使用 jQuery 将 JSON 数据发送到 PHP

javascript - 在 Chrome 中,页面不会在 Ajax 加载后调整大小

javascript - Angular 4 Bootstrap 菜单在页面交换时保持打开状态