Chapter 3: Creating addClass animations with ngShow

by billy roberts

HTML

<script src="https://code.angularjs.org/1.3.2/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.2/angular-animate.min.js"></script>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<div ng-app="myApp">
    <div ng-controller="Ctrl">
        <button ng-click="displayToggle=!displayToggle">
            Toggle Visibility
        </button>
        <div class="animate-container" ng-show="displayToggle">
            Fade me out!
        </div>
    </div>
</div>

CSS

.animate-container.ng-hide-add {
    animation: 1s fade-out;
    -webkit-animation: 1s fade-out;
}
@keyframes fade-out {
    0% {
        opacity:1;
    }
    100% {
        opacity:0;
    }
}
@-webkit-keyframes fade-out {
    0% {
        opacity:1;
    }
    100% {
        opacity:0;
    }
}

JavaScript

// ...with keyframes

angular.module('myApp', ['ngAnimate'])
.controller('Ctrl',function($scope) {
    $scope.displayToggle = true;
});