gpt4 book ai didi

javascript - 使用 ng-leave 删除列表中的项目时如何避免空格

转载 作者:行者123 更新时间:2023-11-29 14:44:29 26 4
gpt4 key购买 nike

我使用 ng-repeat 将几个 div 堆叠起来。我正在使用 ng-leave 在删除时向上滑动 div。我想要的是删除的 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-move 向上滑动所有索引发生变化的 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;
}

这是 fiddle .

关于javascript - 使用 ng-leave 删除列表中的项目时如何避免空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34460820/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com