Добавление слайд-и-анимации с угловой анимацией (нг-шоу)
Итак, у меня есть два набора из 4 кнопок. Только 1 набор кнопок отображается одновременно с помощью выражения ng-show. У меня возникают трудности при работе с угловой анимацией CSS, чтобы создать слайд на ng-show-add и слайд на ng-show-remove. Вот мой код:
<script>
angular.module('myApp', ['ngAnimate']).
controller('theController', ['$scope', function($scope) {
$scope.imageAnalysis = false;
$scope.toggleImageBtns = function() {
$scope.imageAnalysis = !$scope.imageAnalysis;
};
}]);
<script>
<body>
<div class="container" ng-controller="theController">
<div class="row feature-btns" ng-show="imageAnalysis === false">
<div class="col-xs-3">
<div class="btn btn-default"> feature btn 1 </div>
</div>
<div class="col-xs-3">
<div class="btn btn-default"> feature btn 2 </div>
</div>
<div class="col-xs-3">
<div class="btn btn-default"> feature btn 3 </div>
</div>
<div class="col-xs-3">
<div class="btn btn-default" ng-click="toggleImageBtns()"> click me to see image buttons </div>
</div>
</div>
<!-- /.row -->
<div class="row image-btns" ng-show="imageAnalysis === true">
<div class="col-xs-3">
<div class="btn btn-default"> image btn 1 </div>
</div>
<div class="col-xs-3">
<div class="btn btn-default"> image btn 2 </div>
</div>
<div class="col-xs-3">
<div class="btn btn-default"> image btn 3 </div>
</div>
<div class="col-xs-3">
<div class="btn btn-default" ng-click="toggleImageBtns()"> go back to feature buttons </div>
</div>
</div>
</div>
</body
1 ответ
Решение
Вот фрагмент CSS, который будет скользить в ваших кнопках справа. Он должен дать вам представление о классах, которые вы должны использовать, и можете ими манипулировать.
.feature-btns {
position: absolute;
top: 50px;
left: 0;
transition: 250ms ease-in-out all;
}
/* fade out content as it is hidden */
.feature-btns.ng-hide-add {
opacity: 1.0;
}
.feature-btns.ng-hide-add-active {
opacity: 0;
}
/* slide in from right*/
.feature-btns.ng-hide-remove {
left: 100%;
//left: 1100px;
position: absolute;
top: 50px;
}
.feature-btns.ng-hide-remove-active {
left: 0;
}
.image-btns {
position: absolute;
top: 50px;
left: 0;
transition: 250ms ease-in-out all;
}
/* fade out content as it is hidden */
.image-btns.ng-hide-add {
opacity: 1.0;
}
.image-btns.ng-hide-add-active {
opacity: 0;
}
/* slide in from right*/
.image-btns.ng-hide-remove {
left: 100%;
//left: 1100px;
position: absolute;
top: 50px;
}
.image-btns.ng-hide-remove-active {
left: 0;
}