gpt4 book ai didi

javascript - 防止动画在初始页面加载时触发

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:07 24 4
gpt4 key购买 nike

我使用 Angular 1.2 中的 ngAnimateng-view 指令上创建了一个简单的旋转立方体动画,并具有以下 CSS:

.cube-container {
-webkit-transform-style: preserve-3d;
-webkit-perspective:400px;
height:100%;
}
.cube.ng-enter,
.cube.ng-leave {
-webkit-transition: 0.8s linear all;
}
.cube.ng-enter {
-webkit-transform-origin: 100% 50%;
-webkit-transform: translateX(-100%) rotateY(-90deg);
}
.cube.ng-enter.ng-enter-active {
-webkit-transform: translateX(0%) rotateY(0deg);
}

.cube.ng-leave {
-webkit-transform-origin: 0% 50%;
}
.cube.ng-leave.ng-leave-active {
-webkit-transform: translateX(100%) rotateY(90deg);
}

标记如下所示:

<div class="cube-container">
<div class="app cube" ng-view></div>
</div>

这绝对很棒。问题是:我怎样才能阻止动画在最初的第一页加载时触发,并且只在路由改变时应用?

谢谢!

最佳答案

您需要动态应用动画类,如下所示:

http://jsfiddle.net/J63vD/

我相信这可以在任何事件上完成,例如路线变更事件。

HTML:

<div ng-app="App">
<input type="button" value="set" ng-click="myCssVar='css-class'" />
<input type="button" value="clear" ng-click="myCssVar=''" />
<span ng-class="myCssVar">CSS-Animated Text</span>
</div>

CSS:

.css-class-add, .css-class-remove {
-webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
-o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
}

.css-class,
.css-class-add.css-class-add-active {
color: red;
font-size:3em;
}

.css-class-remove.css-class-remove-active {
font-size:1.0em;
color:black;
}

JavaScript:

angular.module('App', ['ngAnimate']);

关于javascript - 防止动画在初始页面加载时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20190518/

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