javascript - AngularJS:如何在 ngView 上为每个元素放置输入动画

标签 javascript html css angularjs

有没有办法在进入时为 ngView 的每个内容而不是 View(div) 本身设置动画?

最佳答案

除了使用过渡 API 为动画编写自定义 CSS 之外,没有其他方法可以制作动画,例如(过渡:所有线性 0.5 秒;) CSS 要么你动画 ng-show/ng-hide 要么使用 ng-view 这是来自官方 angularjs api 文档的内容:

<div ng-controller="MainCtrl as main">
  Choose:
  <a href="Book/Moby">Moby</a> |
  <a href="Book/Moby/ch/1">Moby: Ch1</a> |
  <a href="Book/Gatsby">Gatsby</a> |
  <a href="Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
  <a href="Book/Scarlet">Scarlet Letter</a><br/>

  <div class="view-animate-container">
    <div ng-view class="view-animate"></div>
  </div>
  <hr />

  <pre>$location.path() = {{main.$location.path()}}</pre>
  <pre>$route.current.templateUrl = {{main.$route.current.templateUrl}}</pre>
  <pre>$route.current.params = {{main.$route.current.params}}</pre>
  <pre>$routeParams = {{main.$routeParams}}</pre>
</div>

CSS:

.view-animate-container {
  position:relative;
  height:100px!important;
  background:white;
  border:1px solid black;
  height:40px;
  overflow:hidden;
}

.view-animate {
  padding:10px;
}

.view-animate.ng-enter, .view-animate.ng-leave {
  transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;

  display:block;
  width:100%;
  border-left:1px solid black;

  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  padding:10px;
}

.view-animate.ng-enter {
  left:100%;
}
.view-animate.ng-enter.ng-enter-active {
  left:0;
}
.view-animate.ng-leave.ng-leave-active {
  left:-100%;
}

来源:Angular Docs

关于javascript - AngularJS:如何在 ngView 上为每个元素放置输入动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42800138/

相关文章:

javascript - 金融应用程序的外汇汇率

javascript - 屏幕调整大小的响应式 D3 圆环图

javascript - 打开一个包含 div 内容的新页面

html - 仅在 chrome 中突出显示按钮边框的问题

javascript - 767下jquery改变动画效果

javascript - 是否可以使用 webdriverio 按属性值选择元素

javascript - 如何重复 "request"直到成功? Node JS

Javascript 表单验证

html - CSS div 元素容器参数未相应显示

来自 Sharepoint 的 HTML 电子邮件看起来与网站上的不同