単純な (しかし、私にとっては!) angularjs の表示/非表示アニメーションの問題。
高低を検索しましたが、この特定の問題の解決策は見つかりませんでした。これは、例と「課題」で最もよく説明できるでしょう。
まず、例: http://jsfiddle.net/adammontanaro/QErPe/1/
課題: 現在表示されている画像の下または上に表示され、上部の画像の div が非表示になると所定の位置にポップするのではなく、これらの画像を互いにフェードインおよびフェードアウトさせることはできますか?
HTML:
<div>
<div data-ng-repeat="k in kitties" >
<img ng-src="{{k}}" ng-show="selectedImage==$index" ng-animate="{show:'animate-show', hide:'animate-hide'}" />
</div>
</div>
CSS:
.animate-show, .animate-hide {
-webkit-transition:all linear 1s;
-moz-transition:all linear 1s;
-ms-transition:all linear 1s;
-o-transition:all linear 1s;
transition:all linear 1s;
}
.animate-show {
opacity:0;
}
.animate-show.animate-show-active {
opacity:1;
}
.animate-hide {
opacity:1;
}
.animate-hide.animate-hide-active {
opacity:0;
}
私はこれで何時間も車輪を回転させてきました。単一の画像または div を表示または非表示にする方法を示す優れた投稿の群れを見てきましたが、単純なクロスフェードと置換を試みると、すべてが機能しなくなります。絶対/相対位置をいじってみましたが、役に立ちませんでした。
これをスイッチで試してみましたが、スイッチ条件で $index を使用できなかったため、実行時にイメージをロードできました。それがここでの大きな要件です。
参考までに-これはangular 1.1.5を使用しています
ありがとうございました!!!アダム