为什么这个jQuery翻转功能会出现图像错误?

时间:2018-10-04 12:04:39

标签: javascript jquery html css dom

jsFiddle取自我在jsFiddle上构建的东西,它工作正常。该功能可翻转卡-没问题。但是,当在我的本地主机上运行该卡时,有时(通常是第一次翻转该卡,但此后才将其翻转)消失了几秒钟,然后重新出现。我认为这可能与卡正面上有图像的事实有关,因为该图像不会消失。我的代码中是否存在任何可见的错误,或者是否可以解决此类问题?

CSS非常广泛,但我想完全按照问题的根源复制它。

$(function() {
  $('.card-container').on("click", function() {
    $(this).find('.card').toggleClass("flipped");
  });
});
.card {
  width: 100%;
  height: 100%;
  position: absolute;
  -webkit-transition: -webkit-transform 1s;
  -moz-transition: -moz-transform 1s;
  -o-transition: -o-transform 1s;
  transition: transform 1s;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform-origin: 50% 50%;
}

.card div {
  display: block;
  height: 100%;
  width: 100%;
  line-height: 290px;
  color: grey;
  text-align: center;
  font-weight: bold;
  font-size: 24px;
  position: absolute;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}

.card .front {
  border-radius: 2px;
  background: url(../../public/images/card.png) no-repeat;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
}

.card .back {
  border-radius: 2px;
  background: url(../../public/images/card.png) no-repeat;
  -webkit-transform: rotateY( 180deg);
  -moz-transform: rotateY( 180deg);
  -o-transform: rotateY( 180deg);
  transform: rotateY( 180deg);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.card.flipped {
  -webkit-transform: rotateY( 180deg);
  -moz-transform: rotateY( 180deg);
  -o-transform: rotateY( 180deg);
  transform: rotateY( 180deg);
}

.reviewflag {
  max-height: 35px;
  padding-top: 1px;
  padding-bottom: 1px;
  position: fixed;
  margin-left: 48%;
  margin-top: 20px;
  opacity: 0.7;
  left: 0;
  display: inline-block;
}

.carddissappears {
  display: none;
}

.language {
  margin-left: 80%;
}

.cardword {
  font-size: 20px;
  margin-top: 150px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="card-container">
  <div class="card">
    <div class="front" style="background-color: blue;">
      <img class="reviewflag" src="https://cdn.countryflags.com/thumbs/spain/flag-button-round-250.png">
      <p class="cardword">Hola</p>
    </div>
    <div class="back">
      <p class="cardword">Bonjour</p>
    </div>
  </div>
</div>

0 个答案:

没有答案