14

我正在尝试使用新的 AngularJS 方式在页面转换之间进行动画处理,并希望合并卡片翻转(如http://jsfiddle.net/nicooprat/GDdtS/

body {
 background: #ccc;   
}
.flip {
-webkit-perspective: 800;
width: 400px;
height: 200px;
position: relative;
margin: 50px auto;
}
.flip .card.flipped {
-webkit-transform: rotatex(-180deg);
}
.flip .card {
width: 100%;
height: 100%;
-webkit-transform-style: preserve-3d;
-webkit-transition: 0.5s;
}
.flip .card .face {
 width: 100%;
 height: 100%;
 position: absolute;
 -webkit-backface-visibility: hidden ;
 z-index: 2;
 font-family: Georgia;
 font-size: 3em;
 text-align: center;
 line-height: 200px;
}
.flip .card .front {
 position: absolute;
 z-index: 1;
 background: black;
 color: white;
 cursor: pointer;
}
.flip .card .back {
 -webkit-transform: rotatex(-180deg);
  background: blue;
  background: white;
  color: black;
  cursor: pointer;
}

我只是有点不确定如何更新该代码以使其与 AngularJS 一起用于页面转换。

有什么想法吗?

4

2 回答 2

28

我意识到这是很久以前的事了,但我只是这样做,它只需要零个 javascript。关键是ng级。这是一个JSFIDDLE

关键是这条线

<div class="card" ng-class="{'flipped':isFlipped}" ng-click="isFlipped=!isFlipped"> 

当 $scope.isFlipped 为真时,它会将“翻转”类分配给卡片。这是我为了好玩而放在一起的一个小 NFL 闪存卡游戏。查看源代码(不是超级漂亮),如果您正在做这样的事情,它应该会有所帮助。

NFL 闪存卡

于 2014-04-28T00:53:31.603 回答
0

是一个替代解决方案,从 html 中可以更清楚地看到发生了什么。具体来说,翻转机制在 angularjs 中,而不是埋在 css 魔法中。对于不是 css 专家的人来说,可能更容易理解:

<div class="card" ng-click="isFlipped=!isFlipped">
    <div class="face front" ng-class="{'flipped':isFlipped}">
        Front
    </div> 
    <div class="face back" ng-class="{'flipped':!isFlipped}">
        Back
    </div> 
</div>
于 2018-08-11T22:33:48.530 回答