Durante il tentativo di creare una presentazione che attenua le immagini dentro e fuori ho incontrato questo problema. Quello che ho trovato è che quando si fanno le animazioni una alla volta, sono fluide e senza soluzione di continuità. Tuttavia quando si eseguono più animazioni, diventano instabili e irregolari. Ecco il codice che sto utilizzando per la dissolvenza un'immagine in, mentre allo stesso tempo, dissolvenza un'immagine sovrapposizione out (tutto accade in una direttiva):Animazione di più oggetti contemporaneamente in AngularJS produce animazione choppy
var fadeToNextImg = function() {
var nextImg = imageHandler.getNextImage();
$animate.addClass(curImage, 'ng-hide');
$animate.removeClass(nextImg, 'ng-hide');
curImage = nextImg;
};
Questo funziona, ma l'animazione produce risultati errati. Le immagini non si dissolvono e si dissolvono in modo uniforme, ma appaiono semplicemente, o prima o poi una delle immagini svanirà. Tuttavia, se mi nido le animazioni in modo che solo uno capita in un momento in poi entrambe le animazioni Excecute perfettamente, uno dopo l'altro, in questo modo:
var fadeToNextImg = function() {
var nextImg = imageHandler.getNextImage();
$animate.addClass(curImage, 'ng-hide', function() {
$animate.removeClass(nextImg, 'ng-hide');
curImage = nextImg;
});
};
che è grande .. non solo l'effetto desiderato che volevo. Voglio che una immagine si dissolva mentre l'altra immagine sfuma perfettamente sopra di essa! Sto facendo qualcosa di sbagliato? Oppure si tratta di un problema di bug/prestazioni nella libreria Angular Animate?
Un'altra cosa di cui essere a conoscenza, ho anche provato questo utilizzando la manipolazione JQuery DOM al di fuori di una direttiva, e l'animazione era impeccabile. L'ho spostato solo su una direttiva perché quello è il modo angolare di fare le cose. Allora perché fa esplodere le mie animazioni?
Si sarebbe meglio usare jQuery per le animazioni. angular-animate è stato conosciuto per avere problemi di prestazioni. Leggi anche qui ... https://github.com/angular/angular.js/issues/4011 –