html - 无法使 Angular 与 CSS 3D 一起工作

标签 html css angularjs 3d flip

我有一个简单的 div,它会在单击文本时翻转。我正在使用 Angular,但是一旦 div 翻转,再次点击它就不会恢复到正常状态。

Fiddle here

HTML

<body ng-app>
    <div>
        <div id="content_wrapper">
            <div id="flip_wrapper" ng-init="show_case='employee'" class="transition_long {{show_case == employer}}">
                <div id="employee_wrapper" class="flip_case">
                    <div ng-click="show_case = employer" class="clickme">click to flip</div>
                </div>
                <div id="employer_wrapper" class="flip_case">
                    <div ng-click="show_case = employee" class="clickme">back to where we were</div>
                </div>
            </div>
        </div>
    </div>
</body>

CSS

#content_wrapper {
    width: 100%;
    height: 100%;
    position: fixed;
    perspective: 2000;
}

#flip_wrapper {
    transform-style: preserve-3d;
    min-height: 100%;
    width: 100%;
    position: relative;
}


#flip_wrapper.false {
    transform: rotateY(0deg);
}

#flip_wrapper.true {
    transform: rotateY(-180deg);
}

.flip_case {
    height: 100%;
    width: 100%;
    position: absolute;
    backface-visibility: hidden;
}

.flip_case#employee_wrapper {
    transform: rotateY(0deg);
}

.flip_case#employer_wrapper {
    transform: rotateY(180deg);
}

最佳答案

我创建了一个 fiddle ,通过将逻辑移动到 Controller 中使其工作 http://jsfiddle.net/7zwuw311/1/

<body ng-app="app">
   <div ng-controller="Ctrl">
       <div id="content_wrapper">
           <div id="flip_wrapper" class="transition_long {{show_case}}">
               <div id="employee_wrapper" class="flip_case">
                   <div ng-click="toggleShowCase()" class="clickme">click to flip</div>
               </div>
               <div id="employer_wrapper" class="flip_case">
                   <div ng-click="toggleShowCase()" class="clickme">back to where we were</div>

               </div>
           </div>
       </div>
   </div>
</body>


angular.module('app', [])

angular.module('app')
  .controller('Ctrl', function Ctrl( $scope) {
    $scope.show_case = false;

      $scope.toggleShowCase = function(){
         $scope.show_case = !$scope.show_case;
      }

 });

关于html - 无法使 Angular 与 CSS 3D 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27432774/

相关文章:

css - 文本区域拼写检查弹窗不显示?

css - 如何在 Angular v2 组件中添加样式 url?

javascript - 在 AngularJS Controller 之间共享数据,但共享数据来自 Ajax 调用

javascript - 指令中的 AngularJS ngModel

jquery - 类型错误:无法使用 $http 读取未定义的属性 'success'

html - 在没有定义的单元格上显示边框是 Chrome 中的错误吗?

php - 我该如何修复这个安全漏洞?

html - 导航栏在小屏幕下不起作用

javascript - 在 jquery 中删除一个 div 不起作用

javascript - 在函数中转换事件处理程序