Щелкните, чтобы перевернуть div, используя javascript - PullRequest
0 голосов
/ 25 мая 2020

Я бы хотел, чтобы div переворачивался и отображался «назад», если пользователь наводит на него курсор. Задняя сторона будет иметь размер передней части блока div, но содержать другой текст.

Это то, что я пробовал

$('.hover').hover(function() {
  $(this).addClass('flip');
}, function() {
  $(this).removeClass('flip');
});
$('.click').toggle(function() {
  $(this).addClass('flipswing');
}, function() {
  $(this).removeClass('flipswing');
});
.panel {
  width: 300px;
  position: relative;
  background-color: #ccc;
  height: 300px;
  padding: 20px;
}

.panel .front {
  width: 300px;
  height: 200px;
  margin: 10px;
  position: absolute;
  top: 0px;
  left: 0px;
  border: 1px solid #ccc;
  background: #6b7077;
  text-align: center;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.9);
  -webkit-transform: rotateX(0) rotateY(0);
  transform: rotateX(0) rotateY(0);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}

.panel .back {
  width: 300px;
  height: 200px;
  margin: 10px;
  position: absolute;
  top: 0px;
  left: 0px;
  border: 1px solid #ccc;
  background: #6b7077;
  text-align: center;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.9);
  -webkit-transform: rotateY(-179deg);
  transform: rotateY(-179deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}

.panel.flip .front {
  transform: rotateY(179deg)
}

.panel.flip .back {
  -webkit-transform: rotateX(0) rotateY(0);
}

.panel {
  -webkit-perspective: 800px;
  perspective: 800px;
}

.swing .front,
.swing .back {
  width: 140px;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transform-origin: 170px 0;
  transform-origin: 170px 0;
}

.swing .front {
  -webkit-transform: rotateY(0);
  transform: rotateY(0);
}

.swing .back {
  background-color: #555;
  /* hiding this side, so get darker */
  -webkit-transform: rotateY(-180deg) translateX(198px) translateZ(2px);
  transform: rotateY(-180deg) translateX(198px) translateZ(2px);
}

.swing.flipswing .front {
  background-color: #222;
  /* hiding this side, so get darker */
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

.swing.flipswing .back {
  background-color: #80888f;
  -webkit-transform: rotateY(0) translateX(198px) translateZ(2px);
  transform: rotateY(0) translateX(198px) translateZ(2px);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-lg-3 col-sm-6">
  <div class="hover panel">
    <div class="front">
      <div class="single_instructor">
        <div class="author">
          <img src="{% static 'second/images/people/person.jpg' %}" style="max-width:100%;max-height:100%;" alt="">
        </div>
        <div class="author_decs">
          <h4>User Name</h4><br>
          <p class="profession">Job Title</p>
          <p>Country</p>
          <div class="social_icons">
            <a href="#"><i class="fa fa-facebook"></i></a>
            <a href="#"><i class="fa fa-twitter"></i></a>
            <a href="#"><i class="fa fa-linkedin"></i></a>
          </div>
        </div>
      </div>
    </div>
    <div class="back">
      This the back
    </div>
  </div>
</div>

В том виде, в каком он сейчас стоит, когда я наводю курсор на div, div не вращается и показывает мне заднюю карту

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...