2016-03-29 15 views
1

Öğeler bir tabloda göründüğünde bulanık olmaya çalışıyorum. Aynı anda görünen 2, 3 veya daha fazla öğe olabilir. Ancak, ng-animate,'un doğru şekilde işlenmesini sağlamaz.ng-animate çoklu tablo satırları canlandırmıyor

Aşağıdaki klavyede, tablo satırlarının çalışma kullanım durumunu görebilirsiniz (yan yana, div öğelerini içeren bir örnek). Div elemanları uygun şekilde canlandırılır. Tablo satır öğeleri yok. (Basitleştirilmiş)

Demo Fiddle

HTML

<table class="animate-appear"> 
    <tr ng-repeat="item in repeatingItems"> 
    <td>{{item}}</td> 
    <td>{{item}}</td> 
    </tr> 
</table> 

CSS

table.animate-appear tr td { 
    padding: 5px 10px; 
    transition: all 1s ease; 
    opacity: 1; 
} 

table.animate-appear .ng-enter td, 
table.animate-appear .ng-leave.ng-leave-active td, 
table.animate-appear .ng-move td { 
    opacity: 0; 
    background-color: yellow; 
} 

table.animate-appear .ng-enter.ng-enter-active td, 
table.animate-appear .ng-leave td, 
table.animate-appear .ng-move.ng-move-active td { 
    opacity: 1; 
    background-color: white; 
} 

Notlar:
1. div öğelerinin doğru animasyon görünmektedir. Bu bir karşılaştırma noktası için kemanın içinde yer alır.
2. Tablo satırları div öğelerine değiştirilemez.
3. Küçük bir zaman aşımı (testimde 30 ms kadar az), sonraki satırların doğru bir şekilde canlandırılmasına neden olur. Bu, benim sorunum için geçerli bir çözüm değil değil. 4. ng-enter animasyonuyla ilgili numaralı numaralı telefonu kullanıyorum. 5. Animasyon stillerini tablo sırasına başarılı bir şekilde uygulamadan denedim.

Bu neden oluyor? Ve dahası, bir tablodaki tüm yeni elemanların doğru bir şekilde canlandırılmasına neden olmak için ne yapabilirim?

+0

Yukarıdaki örnekteki keman, 'sabit' sürümdür. Sabit olmayan bağlantı kurmak mümkün mü? ('6' ile biten URL '' kırık 'versiyonu gibi görünüyor) – ryanm

+0

@ryanm - Yukarıdaki sürüm yanlış davranış sergiliyor. "Öğe ekle" ye tıklamak üç öğe ekler: ilk girişi, ikinci girişi değil, düzgün bir şekilde animasyonlar ve üçüncü girişi (bunun üzerinde hafif bir zaman aşımı vardır) canlandırır. Sabit sürüm http://jsfiddle.net/cale_b/od7kam48/12/ –

+0

Şimdi görüyorum, açıklık için teşekkürler. – ryanm

cevap

1

Tablonuzun animasyon css'si, hem satıra hem de hücreye uygulandığından çakışmaya neden oluyor. Eğer css'yi değiştirirseniz, animasyon sadece satır için geçerli olur, doğru bir şekilde animasyon yapmalıdır.

table.animate-appear tr { 
    transition: all 1s ease; 
    opacity: 1; 
} 

table.animate-appear td { 
    padding: 5px 10px; 
    opacity: 1; 
} 

table.animate-appear .ng-enter, 
table.animate-appear .ng-move { 
    opacity: 0; 
    background-color: yellow; 
} 

table.animate-appear .ng-enter.ng-enter-active, 
table.animate-appear .ng-leave, 
table.animate-appear .ng-move.ng-move-active { 
    opacity: 1; 
    background-color: white; 
} 
+0

İşte [güncelleme] (http://jsfiddle.net/od7kam48/10/). Ayrıca kromda çalıştırıyorum. Bana göre doğru görünüyor, ama belki anlamadığım farklı bir şekilde başarısız oluyor. – xrgb

+0

Bu [keman] 'da (http://jsfiddle.net/od7kam48/11/) Ayrıca, sadece sürümleri uygulamak için arka plan rengi css animasyonunu güncelledim, div sürümü daha yavaş olmasına rağmen, aynı görünmek gibi görünüyor kaldır. – xrgb

+0

Harika. İlgili bitlere indirdim - cevabınızı kodunuzda doğru/azaltılmış css'yi içerecek şekilde güncellerseniz, kabul edeceğim. "İndirgenmiş" css için bu klavyeyi görün: http://jsfiddle.net/cale_b/od7kam48/12/ –

İlgili konular