gpt4 book ai didi

javascript - Angular Js 用动画一一隐藏Div

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

我希望逐一随机淡出具有相同类的所有 Div(css 属性显示设置为 inline:block),直到剩下最后一个随机 div。我当然可以用 jquery 做到这一点,但我无法让它与 fadeOut inline:block 属性一起工作。

所以我的 div 彼此相邻对齐 enter image description here 我需要一个一个地随机隐藏它们。

删除随机div后 enter image description here删除的 div 空间应保留在 css 属性 visibility:hidden 中,最后剩下的 div 编号将显示在 JavaScript 警报中。

这是我的凝视代码

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="lib/style.css">

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.20/angular-animate.min.js"></script>
<script src="lib/script.js"></script>
</head>
<body class="container" ng-app="animateApp" ng-controller="mainController">
<div class="row">
<div class="col-xs-12">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
</div>
</div>
</body>
</html>

这是 fiddle https://plnkr.co/edit/OG1EmWjQi1bHj5OC69Z7?p=info

非常感谢任何帮助。

最佳答案

您可以通过 ng-hide CSS 类定义项的隐藏方式。您可以覆盖 display 属性以将其保留为 inline-block,并使用 CSS 动画使其淡出。

// Add your code here

angular.module("animateApp", [])
.controller("mainController", function($scope, $timeout) {
$scope.data = [1, 2, 3, 4, 5];
var hidden = [];
$scope.shouldHide = function(index) {
return hidden.indexOf(index) >= 0;
};
function hideRandom() {
if ($scope.data.length - 1 < hidden.length) {
return;
}
var randomTime = Math.floor(Math.random()*1000)
var randomElem = Math.floor(Math.random()*$scope.data.length);
while (hidden.indexOf(randomElem) >= 0) {
randomElem = Math.floor(Math.random()*$scope.data.length);
}
$timeout(function() {
hidden.push(randomElem);
hideRandom();
}, randomTime);
}
hideRandom();

});
/* Add your styles here */

.item{
height:30px;
width:30px;
display:inline-block;
border:1px solid #000000;
}
.item.ng-hide {
transition:0.5s linear opacity;
opacity:0;
display:inline-block !important;
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.20/angular-animate.min.js"></script>
</head>
<body class="container" ng-app="animateApp" ng-controller="mainController">



<div class="row">
<div class="col-xs-12">
<div class="item" ng-repeat="i in data track by $index" ng-show="!shouldHide(i)">{{i}}</div>
</div>

</div>

</body>
</html>

关于javascript - Angular Js 用动画一一隐藏Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38279100/

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