2014-06-24 9 views
8

Angularjs와 animate.css를 배우고 실험하고 있습니다. ng-show가 true 또는 false 일 때 애니메이션을 추가하려고합니다. 표시 및 숨기기는 작동하지만 애니메이션은 작동하지 않습니다. 여기 누군가가 내가 잘못하고있는 것을 보여줄 수 있기를 바랍니다.Animate.css and Angularjs ng-hide

여기는 plunk입니다.

도움 주셔서 감사합니다.

+1

나는 animate.css를 사용하여 새로운 버전의 $ animate가 잘 작동하는지 확신하지 못합니다. animate.css가 전환 중에 여러 클래스를 추가/제거하기 때문입니다 ... animate.css가 요구 사항이라면, 어떤 클래스가 부울을 기반으로 적용되어야하는지 알아내는 처리 http://plnkr.co/edit/LN8wunbuPrKcuEV1ouMQ?p=preview – shaunhusain

+0

아니요 animate.css는 필수 조건이 아닙니다. 나는 둘이 어떻게 함께 놀 수 있는지 알아 내려고 애 썼다. 귀하의 응답과 귀하가 제공 한 솔루션에 감사드립니다. –

+0

np ng 클래스에 관해서도 많은 것들을 시도했지만 불행히도 작동하지 않을 수 있습니다 ... animate.css로 작업하는 방법을 보니 좋았습니다. 왜 showme 속성을 사용하여 간단한 ng-class를 사용하는지 알지 못했습니다. 애니메이션으로 지정된 fadeIn 및 fadeOut을 사용하여 클래스를 추가/제거하고 애니메이션 클래스를 사용했습니다 ... 불행히도 animate.css에 대한 실제 경험이 없으므로 잘못된 점을 말하면 어려워졌습니다. http://plnkr.co/edit/Ey20sPZLqOCmfdFcBai7? p = preview – shaunhusain

답변

10

다음은 ng-show와 animate.css가 함께 작동하는 코드의 약간 수정 된 버전입니다.

HTML

<div ng-controller="controller"> 
    <button ng-click="showme = !showme">Show or Hide</button> 
    <div ng-show="showme" class="boxme"> 
    <h2>Box to Show and Hide</h2> 
    <p>Show and hide this box using animate.css the angularway!</p> 
    </div> 
</div> 

자바 스크립트

(function() { 
    var app = angular.module("theapp", ['ngAnimate']); 
    var controller = function($scope){ 
     $scope.showme = false; 
    }; 
    app.controller("controller", controller); 
}()); 

CSS

.boxme.ng-hide-add { 
    -webkit-animation: fadeOutLeftBig 0.4s; 
    display: block!important; 
} 
.boxme.ng-hide-remove { 
    -webkit-animation: fadeInLeftBig 0.4s; 
} 

http://jsfiddle.net/h58wsxcw/

왼쪽에있는 옵션 (body 태그, 외부 리소스)은 jsfiddle에서 각도를 표시하고 실행하도록 설정해야합니다.

1

ngAnimate 및 animate.css와 호환되는 솔루션을 찾았으며 버전을 1.2.17로 업그레이드했으며이 방법을 사용하여 작동하는 것으로 보입니다 ... plunkr에서 재현 할 수없는 이유는 확실하지 않습니다. http://jsbin.com/usaruce/2677/edit?html,css,js,output

+0

고마워. ng-show와 ng-hide가 animation.css에서 작동하지 않는 이유를 이해할 수 없습니다. 도와 주셔서 감사합니다. –