2014-06-24 17 views
8

Uczę się i eksperymentuję z Angularjs i animate.css. Próbuję dodać animacje, gdy ng-show jest prawdziwe lub fałszywe. Pokazywanie i ukrywanie utworów, ale nie animacje. Mam nadzieję, że ktoś tutaj może mi pokazać, co robię źle.Animate.css i Angularjs ng-hide

Oto plunk.

dzięki za pomoc.

+1

Nie jestem pewien, czy nowsze wersje programu $ animate będą dobrze odtwarzane w pliku animate.css, ponieważ dodają/usuwają wiele klas podczas przejścia ... jeśli animate.css jest wymaganiem, może być lepiej z ng- klasa i obsługa ustalająca, która klasa powinna być stosowana w oparciu o logikę boolean http://plnkr.co/edit/LN8wunbuPrKcuEV1ouMQ?p=preview – shaunhusain

+0

brak animate.css nie jest wymagany. Próbowałem po prostu dowiedzieć się, jak oboje grają razem. Dziękuję za odpowiedź i rozwiązanie, które podałeś. –

+0

np. Próbowałem sporo rzeczy dotyczących ng-class, ale niestety nie mogłem go uruchomić ... byłoby miło zobaczyć rozwiązanie do pracy z animate.css, nie wiem dlaczego prosta ng-klasa używa właściwości showme dodawanie/usuwanie klas za pomocą fadeIn i fadeOut określanych jako animacje i używanie animowanej klasy ... niestety nie ma prawdziwego doświadczenia z animate.css tak trudno mi powiedzieć, co jest nie tak. Oto jednak: http://plnkr.co/edit/Ey20sPZLqOCmfdFcBai7? p = preview – shaunhusain

Odpowiedz

10

Oto nieco zmodyfikowana wersja twojego kodu, razem z ng-show i 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> 

JavaScript

(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/

Zwróć uwagę na opcje po lewej stronie (body tag, zasoby zewnętrzne), które należy ustawić, aby uzyskać kątowy przebieg i działanie w jsfiddle.

1

Znaleziono rozwiązanie, które wydaje się działać z ngAnimate i animate.css, a ja zaktualizowałem wersję do wersji 1.2.17 i wydaje się, że nadal działa przy użyciu tej metody ... nie wiem, dlaczego nie mogłem odtworzyć w plunkr: http://jsbin.com/usaruce/2677/edit?html,css,js,output

+0

Dzięki. Nie rozumiem, dlaczego ng-show i ng-hide nie działałyby z animacją.css. Dzięki za pomoc. –