2016-06-18 1 views
0

私のプロジェクトにanimate.cssとAngular.JSを使用しています。私はあなたがここに見つけることができるcodepenを作成しました:http://codepen.io/SassyCrafter/pen/NrRbmE。以下のCSS(私はSASSを使用していますPS)ng-leaveクラスが適用されない

.form-message { 
    position: absolute; 
    .message { 
    position: absolute; 
    color: white; 
    background: orange; 
    padding: 5px; 
    position: absolute; 
    white-space: nowrap; 
    border-radius: .20rem; 
    z-index: 1001; 
    } 

    &.ng-leave { 
    animation: fadeOut 300ms;  
    } 
} 

あなたはペンを見ている場合は、メールが有効でない場合それが必要のように、それがフェードインすることがわかります。しかし、電子メールが有効でフェードアウトすると、ちょっとだけアイドル状態になり、突然消えます。どんな助けもありがとう。

答えて

1

よりよい解決策が見つかりアップデート2

は交換してください -

<div class="form-message animated" 
    ng-class="{'fadeIn': !emailForm.email.$valid, 
      'fadeOut': emailForm.email.$valid}"> 

から

<div class="form-message fade" 
    ng-class="{'in': form.email.$invalid}"> 
  • 更新例
  • サイドノート:私の提供の例を見ては、提出押してみてください。 Bootstrapはすでに無効なフィールドにツールチップの検証サマリを適用していることに気づくでしょう。 Bootstrapの組み込み機能であるため、これを代わりに使用することを検討してください。 More info.

更新

working example from supplied code作成しました。


ng-show/ng-hideにアニメーション化することができないdisplay: none !important;を適用します。

fadeInfadeOutのクラスを一緒に使用して、ng-classを代わりに使用することができます。

<div class="form-message animated fadeIn" ng-show="!emailForm.email.$valid"> 

で - -

<div class="form-message animated" 
    ng-class="{'fadeIn': !emailForm.email.$valid, 
      'fadeOut': emailForm.email.$valid}"> 

をそして、あなたの&.ng-leave SCSSを削除

を交換してください。

+0

ご回答ありがとうございます:-)。悲しいことに、このアプローチは単に問題を逆転させました。 http://imgur.com/OC60r8Rでご覧になれます。 –

+0

@ MaximilianLloyd提供されているコードからサンプルを追加しました。報告している問題は複製できません。あなたができるかどうか、またはそれが特定のブラウザにあるかどうかを教えてください。 – CautemocSg

+0

あなたの例では動作していますが、アプリケーションに直接コピーしても動作しているのがわかります。それでも動作しません。私はここでgifを作成しましたhttp://imgur.com/wtQjdUC。 –

関連する問題