javascript - 单击按钮时旋转 CSS 卡

标签 javascript jquery html css

我想通过点击特定按钮来旋转 CSS 卡片。

现在我可以通过点击任意位置来旋转它。

我应该如何让它只在点击按钮时改变?

我尝试将 javascript 代码 ('.card') 更改为 ('#rotate') 并将该 id 添加到按钮,但它不起作用。

        $('.card').click(function(){
          $(this).toggleClass('flipped');
        });
.animation {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.cardContainer 
{
 
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -ms-transition: all .3s ease;
  transition: all .3s ease;

  
  /*depth of the elements */
  -webkit-perspective: 800px;
  -moz-perspective: 800px;
  -o-perspective: 800px;
  perspective: 800px;

  /*border: 1px solid #ff0000;*/
  padding-left: 1%;
}


.card 
{
  width: 99%;
  height: 200px;
  cursor: pointer;
  
  /*transition effects */
  -webkit-transition: -webkit-transform 0.6s;
  -moz-transition: -moz-transform 0.6s;
  -o-transition: -o-transform 0.6s;
  transition: transform 0.6s;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

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

.card .front,
.card .back {
  display: block;
  height: 100%;
  width: 100%;
  line-height: 60px;
  color: white;
  text-align: center;
  font-size: 4em;
  position: absolute;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  box-shadow: 3px 5px 20px 2px rgba(0, 0, 0, 0.25);
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.16), 0 2px 5px rgba(0, 0, 0, 0.26);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.16), 0 2px 5px rgba(0, 0, 0, 0.26);
}

.card .back {
  width: 100%;
  padding-left: 3%;
  padding-right: 3%;
  font-size: 16px;
  text-align: left;
  line-height: 25px;
}

.card .back {
  background: #03446A;
  -webkit-transform: rotateY( 180deg );
  -moz-transform: rotateY( 180deg );
  -o-transform: rotateY( 180deg );
  transform: rotateY( 180deg );
}
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>

<div class="col-md-3 cardContainer">
                  <div class="card red">
                    <div class="front"><h3 class="cardTitle">Flip me!</h3></div>
                    <div class="back">
                      <div class="content">
                        <h3 class="cardTitle">Back side</h3>
                        <br/>
                        <p id="happy"></p>
                      </div>
                    </div>
                  </div>
                </div>

<br>
     <button type="button">Rotate card</button>

最佳答案

只需更改您的click 处理程序:

$('button').click(function(){
   $('.card').toggleClass('flipped');
});

关于javascript - 单击按钮时旋转 CSS 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33582147/

相关文章:

javascript - 如何使用 JQuery 保持在 'instance' 内

javascript - 如何检查 YT.Player 对象是否已准备好?

jquery - 根据部分href选择链接

javascript - 将复选框总数与已选中复选框数进行比较?

javascript - Jquery:浏览器填充文本框后启动功能

javascript - 如何使用 vo.js 在 for 循环中产生多个 Promise?

javascript - D3 将鼠标位置反转为 X 轴上最接近的刻度值

javascript - 如何使视差滚动到多列

php - 从数据库检索数据并显示在网页上不起作用

javascript - 使用 jQuery 或 javascript 从字符串中删除特殊字符(& 符号)