У меня есть пример кода запуска (http://jsfiddle.net/Fuunq/), который показывает анимацию слайда с использованием angular.js (1.2.0). Но есть две проблемы, которые я не знаю, как решить:Ищете улучшение анимации слайд-вниз с помощью angular.js
a) При нажатии на ссылку «Добавить элемент» анимация сначала перемещается по ссылке «Добавить элемент», а затем переходит в новый элемент с вершина. Как это можно изменить, чтобы ссылка «Добавить элемент» сместилась вместе с новым появляющимся элементом?
b) Как я могу предотвратить, что элементы исчезают, когда страница загружается в первый раз?
HTML
<div ng-controller="MyCtrl">
<div ng-repeat="item in items" class="animation-slide-down">
<div class="item">
<div>Name: {{item.name}}</div>
<div>Color: {{item.color}}</div>
</div>
</div>
<a href="#" ng-click="addItem()">Add item</a>
</div>
CSS
.item {
margin-top: 5px;
padding: 15px;
background-color: #34ac54;
border: 1px solid black;
}
@-webkit-keyframes slide_down {
0% {
-webkit-transform: translateY(-100%);
opacity: 0;
z-index: -100;
}
99% {
z-index: -100;
}
100% {
-webkit-transform: translateY(0);
opacity: 1;
z-index: 0;
}
}
@keyframes slide_down {
0% {
transform: translateY(-100%);
opacity: 0;
z-index: -100;
}
99% {
z-index: -100;
}
100% {
transform: translateY(0);
opacity: 1;
z-index: 0;
}
}
.animation-slide-down.ng-enter {
-webkit-animation: slide_down 3s ease-in;
animation: slide_down 4s ease-in;
}
JS
var myApp = angular.module('myApp', ['ngAnimate']);
function MyCtrl($scope) {
$scope.name = 'foo';
$scope.items = [
{name: 'Item 1', color: 'blue'},
{name: 'Item 2', color: 'red'}
]
$scope.addItem = function() {
$scope.items.push({name: 'Another item', color: 'black'})
}
}
Спасибо за вашу помощь!
ли вы нашли какое-либо решение для этого? – edbras