loelu
loelu

Reputation: 85

jQuery Flip: Why is only my text turning and not .card?

I'm using the jQuery Flip Plugin. I'm trying to have a couple of cards on top of each other and when the user clicks on a card, it should turn and show the backside. But now only the text is flipping and not the card behind the text. I managed to have it wokring before, but I had to make classes for front and back.

$(function() {
  $(".card").flip({
    axis: "y",
    reverse: "false",
    trigger: "click",
    speed: 700,
  });
});
.card {
  position: absolute;
  width: 400px;
  height: 248px;
  margin: 2px;
  background-color: #F3ECE2;
  border: 5px blue solid;
  padding: 10px;
  border-radius: 25px;
}
#card-1 {
  left: 0px;
  top: 0px;
  z-index: 1;
}
#card-2 {
  left: 10px;
  top: -238px;
  z-index: 2;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/nnattawat/flip/v1.0.16/dist/jquery.flip.min.js"></script>

<div class="card" id="card-1">
  <div>
    Front1
  </div>
  <div>
    Back1
  </div>
</div>

<div class="card" id="card-2">
  <div>
    Front2
  </div>
  <div>
    Back2"
  </div>
</div>

Upvotes: 1

Views: 405

Answers (1)

jaunt
jaunt

Reputation: 5079

From my understanding of the website, you need to add front and back classes to the corresponding div's, as shown:

$(function() {
  $(".card").flip({
    axis: "y",
    reverse: "false",
    trigger: "click",
    speed: 700,
  });
});
.card{
  width:200px;
  height:100px;
  position:relative;
}
.front,
.back {
  background-color: #F3ECE2;
  border: 5px blue solid;
  padding: 10px;
  border-radius: 25px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/nnattawat/flip/v1.0.16/dist/jquery.flip.min.js"></script>

<div class="card" id="card-1">
  <div class="front">
    Front1
  </div>
  <div class="back">
    Back1
  </div>
</div>

<div class="card" id="card-2">
  <div class="front">
    Front2
  </div>
  <div class="back">
    Back2
  </div>
</div>

Upvotes: 2

Related Questions