Анимация нг-шоу в строке таблицы
Я пытаюсь скользить вверх / вниз строки таблицы при переключении ng-show
, Я использую AngularJS v1.3.0-rc.5 и включил ngAnimation
модуль в моем приложении, но он всегда переключается, не анимируется. Я делаю что-то неправильно?
HTML-код следующий:
<tbody>
<tr data-ng-repeat-start="employee in stafflist" ng-init="isToggled[$index]">
<td><a href="#" data-ng-click="toggleEmployee($index)">{{employee.FULLNAME}}</a></td>
<td>{{employee.WORKPHONE}}</td>
<td>{{employee.OFFICE}}</td>
<td>{{employee.DEPARTMENT}}</td>
<td>{{employee.COUNTRY}}</td>
</tr>
<tr data-ng-repeat-end data-ng-show="isToggled[$index]" class="animate-show">
<td colspan="5">
<div class="employeeInfo">
<img ng-src="EmployeeImage.aspx?p={{employee.PHOTOURL}}" />
Employee info
</div>
</td>
</tr>
</tbody>
JavaScript для переключения довольно прост и имеет следующий вид:
$scope.isToggled = [];
$scope.toggleEmployee = function (id) {
$scope.isToggled[id] = !$scope.isToggled[id];
};
Код анимации CSS выглядит следующим образом:
.animate-show {
line-height:40px;
list-style:none;
box-sizing:border-box;
}
.animate-show.ng-move,
.animate-show.ng-enter,
.animate-show.ng-leave {
-webkit-transition:all linear 0.5s;
transition:all linear 0.5s;
}
.animate-show.ng-leave.ng-leave-active,
.animate-show.ng-move,
.animate-show.ng-enter {
opacity:0;
max-height:0;
}
.animate-show.ng-leave,
.animate-show.ng-move.ng-move-active,
.animate-show.ng-enter.ng-enter-active {
opacity:1;
max-height:40px;
}
1 ответ
Попробуй это:
<tr data-ng-repeat-end ng-animate-children>
<td colspan="5" data-ng-show="isToggled[$index]" class="animate-show">
<div class="employeeInfo">
<img ng-src="EmployeeImage.aspx?p={{employee.PHOTOURL}}" />
Employee info
</div>
</td>
</tr>
Вот рабочий (пример) плнкр