gpt4 book ai didi

javascript - $animate addClass 在 Angular 1.3 中不起作用

转载 作者:行者123 更新时间:2023-12-02 16:17:07 25 4
gpt4 key购买 nike

虽然这个演示可以完美地与 Angular 1.2 配合使用,但我无法使其与 1.3 配合使用。

http://plnkr.co/edit/r0aAPnTqoBfRFNBwQSpY?p=preview

我阅读了变更日志,发现 $animate 服务从 1.2 到 1.3 有几个重大更改,但我无法使该动画正常工作。

预期的结果是,dialog div 显示时带有 zoomIn 动画,但在 1.3 中,它显示时没有任何动画。

index.html

<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular-animate.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>

<body>
<div dialog></div>
</body>

</html>

dialog.html

<div class="dialog">
I'm a dialog!
<button ng-click="addClass()">Add</button>
<button ng-click="removeClass()">Remove</button>
</div>

script.js

    angular.module("app", ["ngAnimate"]);

angular.module("app").directive("dialog", function($animate) {
return {
replace: true,
templateUrl: "dialog.html",
link: function(scope, el) {
$animate.addClass(el, "open");
}
}
});

最后是style.css

/* Styles go here */

@-webkit-keyframes zoomIn {
0% {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}

50% {
opacity: 1;
}
}

@keyframes zoomIn {
0% {
opacity: 0;
-webkit-transform: scale3d(.3, .3, .3);
transform: scale3d(.3, .3, .3);
}

50% {
opacity: 1;
}
}

.dialog {
display: none;
}

.dialog.open {
display: block;
}

.dialog.open-add {
display: block;
-webkit-animation-name: zoomIn;
-moz-animation-name: zoomIn;
-o-animation-name: zoomIn;
animation-name: zoomIn;

-webkit-animation-duration: 4s;
-moz-animation-duration: 4s;
-o-animation-duration: 4s;
animation-duration: 4s;
}

感谢您的帮助。

最佳答案

来自文档

this will be skipped if no CSS transitions or keyframes are defined on the -add-active or base CSS class.

您不应将转换添加到 .open-add 类,而是添加到 .open-add-active

关于javascript - $animate addClass 在 Angular 1.3 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29479094/

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