我是ngAnimate的新手,我試圖去體會一些非常簡單的東西。AngularJS ng-show with fade animation
單擊按鈕時顯示div1並隱藏div2(我設法做到這一點)。並顯示一個淡出的動畫,當一個div離開/顯示(我沒有設法做到這一點)
而且我不想在它離開/顯示的同時顯示兩個div。
予製備的JSFIDDLE
下面是代碼
HTML
<body ng-controller="AniCtrl as test" >
<div ng-app="app" ng-init="visibleDiv='div1'">
<md-button ng-click="visibleDiv='div1';test.showBoxOne = !test.showBoxOne">Div 1</md-button>
<md-button ng-click="visibleDiv='div2';test.showBoxOne = !test.showBoxOne">Div 2</md-button>
<section>
<div ng-show="visibleDiv == 'div1'" flex>
<div class="box" ng-show="test.showBoxOne">
<p>This is Div 1</p>
</div>
</div>
<div ng-show="visibleDiv == 'div2'" id="div2" flex>
<div class="box" ng-show="test.showBoxOne">
<p>This is Div 2</p>
</div>
</div>
</section>
</div>
</body>
JS
angular.module('app', ['ngMaterial', "ngAnimate"]);
app.controller('AniCtrl', AniCtrl);
function AniCtrl() {
var self = this;
self.showBoxOne = false;
self.showBoxTwo = false;
}
CSS
.box{
background-color:black;
color:white;
border:1px solid red;
}
.box-one {
-webkit-transition:all linear 0.5s;
transition:all linear 0.5s;
}
.box-one.ng-hide {
opacity:0;
/* transform: scale(0.8); */
}
提前
非常感謝,它正常工作就像我想要的一樣。 我不知道你必須使用CSS隱式,這很有用 - – DPF
編輯:我只是注意到,那ng-init它不工作。我想首先展示,無需點擊,div1 你知道爲什麼嗎? – DPF
@DPF變量'test.showBoxOne'未初始化!你能重新檢查我的答案嗎? –