gpt4 book ai didi

javascript - AngularJS ngAnimate 和 animate.css

转载 作者:行者123 更新时间:2023-11-28 08:33:53 25 4
gpt4 key购买 nike

我一直在尝试使用 AngularJS 和 animate.css 让我的动画正常工作。所以,我像这样创建了 SASS:

.slide-animate {
&.ng-enter,
&.ng-leave{
}

&.ng-enter {
-webkit-animation: bounceIn 1s;
-moz-animation: bounceIn 1s;
-o-animation: bounceIn 1s;
animation: bounceIn 1s;

&.ng-enter-active {
}
}

&.ng-leave {
-webkit-animation: zoomOutLeft 1s;
-moz-animation: zoomOutLeft 1s;
-o-animation: zoomOutLeft 1s;
animation: zoomOutLeft 1s;

&.ng-leave-active {
}
}
}

当我的页面加载时,我得到了 bounceIn 动画,当我按下一个链接时,我得到了 zoomOutLeft 动画,但是加载的 View 没有动画。如果我在浏览器加载时重新加载该 View ,它会执行 bounceIn 动画。

谁能从这个简洁的描述中告诉我可能出了什么问题?

我的 html 看起来像这样:

<html>
<head>
<link href="Content/foundation/normalize.min.css" rel="stylesheet" />
<link href="Content/foundation/foundation.min.css" rel="stylesheet" />
<link href="Content/font-awesome.min.css" rel="stylesheet" />
<link href="Content/animate.min.css" rel="stylesheet" />
<link href="Content/core.min.css" rel="stylesheet" />
</head>
<body ng-app="sapphire">
<section class="slide-animate" ng-view></section>

<script src="scripts/angular.min.js"></script>
<script src="scripts/angular-cookies.min.js"></script>
<script src="scripts/angular-route.min.js"></script>
<script src="scripts/angular-touch.min.js"></script>
<script src="Scripts/angular-animate.js"></script>

<script src="scripts/app/app.js"></script>
<script src="scripts/app/controllers.js"></script>
<script src="scripts/app/services.js"></script>
</body>
</html>

最佳答案

我想通了。首先,我为 .ng-enter.ng-leave 添加了背景颜色,我看到进入的内容被推到了离开的内容下面,所以我想我会玩,这就是我想出的:

.slide-animate {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;

&.ng-enter,
&.ng-leave{
}

&.ng-enter {
-webkit-animation: fadeIn 2s;
-moz-animation: fadeIn 2s;
-o-animation: fadeIn 2s;
animation: fadeIn 2s;

&.ng-enter-active {
}
}

&.ng-leave {
z-index: -1;
-webkit-animation: zoomOutLeft 1s;
-moz-animation: zoomOutLeft 1s;
-o-animation: zoomOutLeft 1s;
animation: zoomOutLeft 1s;

&.ng-leave-active {
}
}
}

因为我将 z-index 设置为 -1,所以它会出现在输入框下方。实际的 .slide-animate 我设置为绝对并填满了屏幕,因为 angular 似乎在加载新内容时创建第二个 view 并且全部完成后删除旧的。因此,将 position 设置为 absolute 可以让内容相互重叠。

关于javascript - AngularJS ngAnimate 和 animate.css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28154042/

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