Quelque chose comme Bootstrap pliable angulaire

Je suis en train de construire une petite app et je suis en utilisant AngularJS. À l'intérieur de l'application, j'ai besoin d'un élément pliable et en utilisant Twitter Bootstrap serait aussi facile que de l'ajout de la bibliothèque de tags sur mon élément cible et le déclencheur.

Mais je vais essayer de ne pas charger d'autres bibliothèques externes comme bootstrap ou n'importe quel autre, donc j'essayais d'atteindre le même comportement Angulaire :

$scope.collapse = function(target) {

        var that = angular.element(document).find(target),

            transitioned = {
                'WebkitTransition' : 'webkitTransitionEnd',
                'MozTransition'    : 'transitionend',
                'OTransition'      : 'oTransitionEnd otransitionend',
                'msTransition'     : 'MSTransitionEnd',
                'transition'       : 'transitionend'
            },

            _transitioned = transitioned[ Modernizr.prefixed('transition') ],

            height = that.outerHeight(true);

        if (angular.element(that).hasClass("in")) {
            that.height(0);
        } else {
            that.height(height);
        };

        that.on(_transitioned, function() {
            that.toggleClass("in");
        });
    };

Comme vous pouvez le voir je suis en train de faire la transition de la hauteur ( comme l'élément a une transition de la hauteur ) et à la fin, il suffit d'ajouter la classe in. Mais qui ne fonctionne pas très bien, parce que si je suis à l'écoute sur la transition de la fin il va déclencher sur la toute fin de transition à l'intérieur de cet élément.

J'aurais besoin d'un peu d'aide avec cela, comment puis-je réécrire le bootstrap pliable juste angulaire ? Je n'ai pas besoin que les événements de bootstrap a comme sur shown, hidden ou show, hide, j'ai juste besoin de déclencher un simple effondrement de l'élément de transition et de garder mes éléments de la hauteur dynamique ( je ne veux pas de hauteur fixe, sinon, je voudrais juste utiliser les CSS pour atteindre l'effondrement ). J'ai juste besoin d'être mis en évidence dans le bon sens 🙂

InformationsquelleAutor Roland | 2013-02-15