AngularJS animiert Bild src ändern
Ich habe eine AnuglarJS app, wo ich laden/ändern Sie einige Bilder von einem webservice...
Controller
.controller('PlayerCtrl', function($scope, programService) {
....
programService.refresh(function(data) {
$scope.program = data;
});
....
Vorlage
<img src="{{program.image}}" />
Wenn meine app-updates aus dem webservice der Bilder ändert sich, wie erwartet, ich will einfach nur, um ein fadeout /fadein, wenn das passiert, wie kann das getan werden?
Ist es möglich, immer eine fadeout/in, wenn ein image src verpasst?
Ich schlage vor, kombinieren würde man ja eigentlich ngAnimate und eine Uhr auf die src-Modell. Nicht nur die Zeit zu arbeiten it out jetzt.
Sie sollten mit
Sie sollten mit
ng-src
für Bilder mit dynamischen Quellen.InformationsquelleAutor pkdkk | 2014-09-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Danke für die Antworten -
Landete ich, dies zu tun, und es funktioniert 😉
- - - - Richtlinie ---
- - - - Vorlage ---
--- CSS - - - -
.circle-image.ng-hide-stagger{ transition-delay: 0.1s; transition-duration: 0s; }
unter anderem, ohne Erfolg.Sie aktualisieren Sie einfach die $scope.Programm.Bild ? Ich habe nur versucht, die gleiche Sache zu tun, aber das erste Bild ist fade-in, werden die Bilder nach, die sind gerade geschnitten über ( keine animation )
mein Fehler, Ionic-framework, die ich brauchte, um eine Klasse "animated", so dass der DOM animiert werden können, mit ngAnimate
Wo di fügen Sie Ihre animierten Klasse? Ich versuche, die gleiche Sache
onClick
aber meine Bilder sind nur Umschalten ohne animation.ng-show="Ausdruck" siehe: gonehybrid.com/...
InformationsquelleAutor pkdkk
- Update 1.5.x - mit Winkel-1.5.x, die Sie verwenden können, ngAnimateSwap um diesen Effekt zu erzielen.
InformationsquelleAutor Aides
Basierend auf pkdkk Antwort und die Angular.js 1.3.6 Quellen, meine Lösung ist als solche (die CSS-animation Teil ist wie für die standard -
ngShow
):InformationsquelleAutor Vladius
Als christoph erwähnt hat, sollten Sie die Uhr mit
$watch
auf das Bild Quelle ändern.Aber zuerst stellen Sie sicher, dass Sie die
ng-src
eher als diesrc
für dieimage
tag.Ich habe nicht betrachten Sie die Verwendung von css hier. Sie können die Verwendung von Jquery .hide() und .fadeIn um den Effekt zu erzielen. Die fadeout-Effekt eventuell nicht möglich. Ich schlage vor, mit der die Richtlinie wie vorgeschlagen, stackoverflow.com/a/25725287/1690339
InformationsquelleAutor Dinesh
In Fall andere Ende, hier oben zu wollen, führen Sie Animationen auf den Wechsel der hintergrund-Bild, das ich poste, was ich am Ende mit.
Dieser Richtlinie davon ausgegangen, dass es verbunden ist, um eine Vorlage wie diese:
Wir wollen das Bild im hintergrund-Quelle für die
<div>
, aber befestigen Sie ein onload-Ereignis, damit wir wissen, Wann das neue Bild angekommen ist. Das zu tun, verwenden wir eine<img>
mit einem.hidden
Klasse, hat.hidden {display: none;}
. Dann haben wir die folgende Anweisung verwenden, um dynamisch einstellen der div-hintergrund-Bild-Quelle, und führen Sie eine fade zu weiß, dann wieder von weiß auf Bild ändern:Arbeiten mit Kantigen macht mich zu lieben, Reagieren die mehr...
InformationsquelleAutor duhaime
Ich weiß, das ist spät, aber laut @Aides Antwort ich bin Entsendung hier ein Beispiel, wie erreichen Sie die animation mit Veränderung in
ng-src
mitngAnimateSwap
(mit Eckigen 1.5.x). Ich hoffe, das hilft jemand in der Zukunft:HTML-Markup:
JS
(script.js)
:Arbeiten plunker hier.
InformationsquelleAutor Seeker
Meine Lösung für dieses problem ist es, zu beobachten, für änderungen auf ng-src und über eine timeout-Funktion, um eine Klasse, die die fadeIn-Effekt.
HTML
Angular Code
CSS
InformationsquelleAutor Arun
Können Sie nicht animieren eine
img src
ändern. Sie können jedoch mehrere Bilder und animieren Sie die Deckkraft.HTML/angular template
CSS
InformationsquelleAutor AlexFoxGill