Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

AngularJS 动画


AngularJS 通过 CSS 提供动画过渡。


什么是动画?

动画是指 HTML 元素的转换,使您产生运动的错觉。

示例

选中复选框以隐藏 DIV

<body ng-app="ngAnimate">

隐藏 DIV:<input type="checkbox" ng-model="myCheck">

<div ng-hide="myCheck"></div>

</body>
亲自试一试 »

应用不应该充满动画,但一些动画可以使应用更容易理解。


我需要什么?

要使您的应用准备好动画,您必须包含 AngularJS Animate 库

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-animate.js"></script>


然后您必须在您的应用中引用 ngAnimate 模块

<body ng-app="ngAnimate">

或者如果您的应用有名称,则在您的应用模块中添加 ngAnimate 作为依赖项

示例

<body ng-app="myApp">

<h1>隐藏 DIV:<input type="checkbox" ng-model="myCheck"></h1>

<div ng-hide="myCheck"></div>

<script>
var app = angular.module('myApp', ['ngAnimate']);
</script>
亲自试一试 »


ngAnimate 做了什么?

ngAnimate 模块添加和删除类。

ngAnimate 模块不会动画化您的 HTML 元素,但是当 ngAnimate 注意到某些事件(例如 HTML 元素的隐藏或显示)时,该元素会获得一些预定义的类,这些类可用于制作动画。

AngularJS 中添加/删除类的指令是

  • ng-show
  • ng-hide
  • ng-class
  • ng-view
  • ng-include
  • ng-repeat
  • ng-if
  • ng-switch

ng-showng-hide 指令添加或删除 ng-hide 类值。

其他指令在进入 DOM 时添加 ng-enter 类值,并在从 DOM 中移除时添加 ng-leave 属性。

ng-repeat 指令在 HTML 元素位置更改时还会添加 ng-move 类值。

此外,动画期间,HTML 元素将具有一组类值,这些类值将在动画完成后删除。例如,ng-hide 指令将添加这些类值

  • ng-animate
  • ng-hide-animate
  • ng-hide-add(如果元素将被隐藏)
  • ng-hide-remove(如果元素将被显示)
  • ng-hide-add-active(如果元素将被隐藏)
  • ng-hide-remove-active(如果元素将被显示)

使用 CSS 的动画

我们可以使用 CSS 过渡或 CSS 动画来为 HTML 元素制作动画。本教程将向您展示两者。

要了解有关 CSS 动画的更多信息,请学习我们的 CSS 过渡教程 和我们的 CSS 动画教程


CSS 过渡

CSS 过渡允许您在给定持续时间内,将 CSS 属性值从一个值平滑地更改为另一个值。

示例

当 DIV 元素获得 .ng-hide 类时,过渡将花费 0.5 秒,高度将从 100px 平滑地更改为 0

<style>
div {
  transition: all linear 0.5s;
  background-color: lightblue;
  height: 100px;
}

.ng-hide {
  height: 0;
}
</style>
亲自试一试 »

CSS 动画

CSS 动画允许您在给定持续时间内,将 CSS 属性值从一个值平滑地更改为另一个值。

示例

当 DIV 元素获得 .ng-hide 类时,myChange 动画将运行,这将使高度从 100px 平滑地更改为 0

<style>
@keyframes myChange {
  from {
    height: 100px;
  } to {
    height: 0;
  }
}

div {
  height: 100px;
  background-color: lightblue;
}

div.ng-hide {
  animation: 0.5s myChange;
}
</style>
亲自试一试 »


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.