如何在使用ng leave删除列表中的项目时避免空格
How to avoid space when using ng-leave to remove item in list
我已经使用ng repeat堆叠了几个div。当删除div时,我使用ng-leave将其向上滑动。我希望删除的div下面的所有div都能随着删除的div一起向上滑动,这样就不会有任何空白。
正如我所看到的,删除的div在1s转换期间留下了一个空白,然后下面的div立即向上移动。
FIDDLE:https://jsfiddle.net/c1huchuz/6/
HTML:
<body ng-app="myApp" ng-controller="myController">
<button ng-click="add_div()">Add Div</button><br/><br/>
<div ng-repeat="x in random_array" class="slide">
{{$index}}
<button ng-click="remove_div($index)">Delete</button>
</div>
</body>
JS:
var app = angular.module("myApp", ['ngAnimate']);
app.controller("myController", ["$scope", function($scope) {
$scope.random_array = []
$scope.add_div = function() {
var i = $scope.random_array.length
$scope.random_array.push(i)
}
$scope.remove_div = function(index) {
$scope.random_array.splice(index, 1)
}
}]);
CSS:
div {
position: relative;
width: 90px;
height: 30px;
background-color: orange;
border: 1px solid black;
}
.slide.ng-enter, .slide.ng-leave {
transition: all 1s;
}
.slide.ng-enter, .slide.ng-leave.ng-leave-active {
top: -30px;
z-index: -1;
}
.slide.ng-enter.ng-enter-active, .slide.ng-leave {
top: 0px;
z-index: -1;
}
我试着用下面的ng移动向上滑动所有索引发生变化的div,但没有任何效果。
.slide.ng-move {
transition: all 1s;
top: 0px;
}
.slide.ng-move.ng-move-active {
top: -31px;
}
由于移除div有一定的高度,因此会出现空白。只需在ng-leave
:上将其设置为0
.slide.ng-leave.ng-leave-active{
height: 0px;
}
这是小提琴。
您需要设置ng-leave
的高度(您可能还想设置浏览器对转换的支持):
.slide.ng-enter, .slide.ng-leave{
transition: all ease 1s;
-moz-transition: all ease 1s;
-webkit-transition: all ease 1s;
-o-transition: all ease 1s;
max-height: 0;
}
(imho将转换设置为0.2会使转换更平滑)
相关文章:
- 正在将数据主题添加到所有项目
- 我如何找到一个句子中的所有空格并替换忽略它们
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- Regex代码只允许一个空格
- 如何检查管道中未定义的项目
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 学生搜索项目jquery/javascript
- 如何获取不属于我项目的上一页的URL
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 用空格替换下划线PHP
- Dojo:访问dijit.form.Select中单击的项目
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 我需要为我的朋友在这个项目上提供帮助
- 如何从 HTML 查询中删除项目
- 在Meteor项目中安装并包含npm模块后出错
- 每个空格键 - 预览下一个和上一个项目
- JavaScript正则表达式为字符串中的每个项目添加空格
- 如何在使用ng leave删除列表中的项目时避免空格
- Foreach循环不显示@Html.DisplayFor中项目之间的空格