首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angular ng-view:隐藏后显示

angular ng-view:隐藏后显示
EN

Stack Overflow用户
提问于 2015-04-24 20:01:08
回答 1查看 285关注 0票数 0

我使用ng-animate和ng-view来显示/隐藏色情内容。这是工作,但我试图在第一个内容被隐藏后显示第二个内容,我不明白如何做到这一点。我很乐意得到帮助。我的html:

代码语言:javascript
复制
<div ui-view='' ng-view='' class="fade"> ... </div> 

和我的css for fade类:

代码语言:javascript
复制
.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;
}
EN

回答 1

Stack Overflow用户

发布于 2015-04-24 20:18:06

你需要在这里使用一些javascript。有一个在动画结束后触发的回调,你只需要在动画结束后执行第二个。因此,首先添加此代码来处理所有浏览器(不同的web渲染引擎)的动画。

代码语言:javascript
复制
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;
  }

然后当你做第一个动画的时候:

代码语言:javascript
复制
var elementToAnimate = document.getElementsByClass("fade")[0];
prefixedEvent(elementToAnimate, "TransitionEnd", transitionEnded);

像这样的东西;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29847031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档