我使用ng-animate和ng-view来显示/隐藏色情内容。这是工作,但我试图在第一个内容被隐藏后显示第二个内容,我不明白如何做到这一点。我很乐意得到帮助。我的html:
<div ui-view='' ng-view='' class="fade"> ... </div> 和我的css for fade类:
.fade {
opacity: 1;
transition: all 1s ease;
}
.fade.ng-enter,
.fade.ng-leave {
}
.fade.ng-enter {
opacity: 0;
}
.fade.ng-enter-active {
opacity: 1;
}
.fade.ng-leave {
opacity: 1;
}
.fade.ng-leave-active {
opacity: 0;
}发布于 2015-04-24 20:18:06
你需要在这里使用一些javascript。有一个在动画结束后触发的回调,你只需要在动画结束后执行第二个。因此,首先添加此代码来处理所有浏览器(不同的web渲染引擎)的动画。
var pfx = ["webkit", "moz", "MS", "o", ""];
prefixedEvent = function (element, type, callback) {
for (var p = 0; p < pfx.length; p++) {
if (!pfx[p]) type = type.toLowerCase();
element.addEventListener(pfx[p]+type, callback, false);
}
}
removePrefixedEvent = function (element, type, callback) {
for (var p = 0; p < pfx.length; p++) {
if (!pfx[p]) type = type.toLowerCase();
element.removeEventListener(pfx[p]+type, callback, false);
}
}
transitionEnded = function(elementToAnimate){
removePrefixedEvent(elementToAnimate.srcElement, "TransitionEnd", transitionEnded);
//do the new animation here eg: newElement.style.opacity = 1;
}然后当你做第一个动画的时候:
var elementToAnimate = document.getElementsByClass("fade")[0];
prefixedEvent(elementToAnimate, "TransitionEnd", transitionEnded);像这样的东西;)
https://stackoverflow.com/questions/29847031
复制相似问题