【问题标题】:angular fade animation with css3 transtions带有 css3 过渡的角度淡入淡出动画
【发布时间】:2015-01-17 14:58:33
【问题描述】:

我正在尝试使用 ngAnimate 和 css3 转换在单击链接时淡入/淡出 div。我有以下内容,但它不起作用。 div 显示/隐藏,但不会淡入或淡出。我哪里错了:

.fade-in-out.ng-add {
  transition: 1s linear all;
  opacity: 0;
}

.fade-in-out.ng-add-active {
  opacity: 1;
}

.fade-in-out.ng-remove {
  transition: 1s linear all;
  opacity: 1;
}

.fade-in-out.ng-remove-active {
  opacity: 0;
}

div 最初是隐藏的 (showMe=false)。页面上有一个将showMe 设置为true 的链接。

<div ng-show="showMe" class="fade-in-out">          
    <div style="float: right; cursor: pointer;" ng-click="showMe=false">x</div>
    blablabla
</div>

请注意,我使用的是 angular 1.2.26。

【问题讨论】:

    标签: angularjs animation css-transitions


    【解决方案1】:

    要使用的正确类是:

    .my-element.ng-hide-add, .my-element.ng-hide-remove {
      transition:0.5s linear all;
    }
    
    .my-element.ng-hide-add { ... }
    .my-element.ng-hide-add.ng-hide-add-active { ... }
    .my-element.ng-hide-remove { ... }
    .my-element.ng-hide-remove.ng-hide-remove-active { ... }
    

    在你的情况下,这就足够了:

    .fade-in-out {
      transition: 1s linear all;  
      opacity: 1;
    }
    
    .fade-in-out.ng-hide {
      opacity: 0;
    }
    

    演示: http://plnkr.co/edit/WM60wEYeQD7J1GuHG0WL?p=preview

    请注意,angular-animate.js 必须加载,ngAnimate 必须作为依赖模块添加。

    【讨论】:

    • 只是为了理解,为什么 ng-show 不是正确使用的类?
    • Angular 在隐藏某些内容时添加ng-hide,并在显示某些内容时将其删除。使用ng-showng-hide 指令并不重要。 Angular 没有添加 ng-show 类。
    • 既然你精通这方面的,能不能看看类似的问题:stackoverflow.com/questions/27140770/…
    • 当然,会看看:)
    • 感谢您的页脚说明,帮助我避免了头疼!
    猜你喜欢
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    相关资源
    最近更新 更多