2015-09-05 46 views
0

我试图在UI Bootstrap模式窗口中使用Ui Bootstrap警报按钮时使用隐藏。我希望动画可以将警报滑入和滑出,并同时淡入淡出。在Modal窗口中显示/隐藏Ui Bootstrap警报的动画显示AngularJS

警报正在显示和隐藏,但隐藏/显示动画完全不起作用,而且完全让我困惑。

展示隐藏代码:

<alert type="danger" close="hideAlert = true" 
    ng-hide="hideAlert" class="ng-hide">ERROR!</alert> 

动画的CSS(这可能是完全不正确的......)是:

.alert.ng-hide-add, 
.alert.ng-hide-remove { 

    -moz-transition: 0.5s linear all; 
    -o-transition: 0.5s linear all; 
    -webkit-transition: 0.5s linear all; 
    transition: 0.5s linear all; 

    display: block !important; 
    opacity: 1; 
    max-height:50px; 
} 


.alert.ng-hide { 
    opacity: 0; 
    max-height:0px; 
} 

我已经包括这里PLNKR到显示它在它所有的骂名:http://plnkr.co/edit/rQ27FDLHapOTadPJuz6z

请帮助....

回答

0

无需使用.ng-hide-add和.ng-hide-remove类,只需指定.alert中的转换并更改.alert.ng-hide中的属性:

.alert { 
    -moz-transition: 0.5s linear all; 
    -o-transition: 0.5s linear all; 
    -webkit-transition: 0.5s linear all; 
    transition: 0.5s linear all; 

    display: block !important; 
    opacity: 1; 
    max-height:50px; 
} 


.alert.ng-hide { 
    opacity: 0; 
    max-height:0px; 
} 
+0

我已经完成了更新版本建议:http://plnkr.co/edit/8g0sElHHsuyzqo5FNj57我忽略了'display:block!important';'行,因为它似乎留下了一个空白区域的隐藏警报消息的大小,这并不是真的想要的。现在,如果没有这种转换,转换就不起作用,它只是在任何衰落或收缩发生之前隐藏起来...... –

+0

'display:block!important;'不能省略,请参阅[ng-hide]的文档(https:/ /docs.angularjs.org/api/ng/directive/ngHide)。然而,为了摆脱不必要的空间,你可以像这样[plunker](http://plnkr.co/edit/WcecsElbIkzM8Dzds8A8?p=preview) – gyantasaurus

+0

设置填充为0谢谢gyantasaurus。另一件事 - 我在我的项目中的其他地方使用动画,并且当页面加载时(我正在使用chrome),它似乎很快隐藏了应该隐藏的所有内容。我想知道这是否也与显示设置有关? –