我的编程空间,编程开发者的网络收藏夹
学习永远不晚

ngAnimate插件有什么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

ngAnimate插件有什么用

这篇文章主要介绍ngAnimate插件有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

ngAnimate插件是做什么的?

ngAnimate插件如其名字一样是为元素提供动画的。

怎么定义动画?

第一步必须是引入插件

<script class="lazy" data-src="//cdn.bootcss.com/angular.js/1.3.20/angular.js?1.1.11"></script><script class="lazy" data-src="//cdn.bootcss.com/angular.js/1.3.20/angular-animate.min.js?1.1.11"></script>

第二步让app引入(依赖)这个插件

var appH5=angular.module("app",['ngAnimate']);
appH5.controller("myTabCtrl",['$scope',function($scope){
         $scope.isShow=true;
}])<body ng-controller="myTabCtrl"><input type="checkbox"  ng-model="isShow" /><div class="new-item" ng-if="isShow">我是要动画的元素</div></body>添加动画的第一种方式:通过css3.0的方式

样式定义示例
.new-item{
  padding: 10px;
  border-bottom: 1px solid #ededed;
  font-size: 1.5rem;
  position: relative;
  transition:all 0.5s;
}

.new-item.ng-enter{
  top: 10px;
}

.new-item.ng-enter-active{
  top: 0px;
}

.new-item.ng-leave{
  opacity:1;
}

.new-item.ng-leave-active{
  opacity:0;
}
//html<div class="new-item">我是要动画的元素</div>
  • 为什么添加样式就可以产生动画?
    当元素进入页面时,angular会给元素依次添加上class ng-enter 和 ng-enter-active,相信大家都知道,CSS3.0在一个元素定义了 transition 之后,两个相同属性的属性值改变就会用过渡动画来实现属性值的改变。当元素移除页面时也是同理,所以我们只要定义元素的四个class来定义这四个时间点的状态,其他的就交给angular来做就好了。

  • 支持这种方式定义动画的指令有哪些?
    ng-if、ng-view、ng-repeat、ng-include、ng-switch
    这几个指令是通过新建节点和移除节点来实现元素的显示和隐藏的

  • ng-repeat 的不同之处

    .new-item{
      padding: 10px;
      border-bottom: 1px solid #ededed;
      font-size: 1.5rem;
      position: relative;
      transition:all 0.5s;
    }
    .new-item.ng-enter{
      top: 10px;
    }
    .new-item.ng-enter-active{
      top: 0px;
    }
    .new-item.ng-enter-stagger{
      animation-delay:100ms;
      -webkit-animation-delay:100ms; 
    }
    .new-item.ng-leave{
      opacity:1;
    }
    .new-item.ng-leave-active{
      opacity:1;
    }
    .new-item.ng-leave-stagger{
      animation-delay:100ms;
      -webkit-animation-delay:100ms; 
    }
    //html<div class="new-item" ng-repeat="new in news">{{new.title}}</div>

刚才说通过新建和删除元素来实现的指令是可以进行动画的,那么只是更改样式显示或者隐藏元素的指令(ng-show ng-hide ng-class )能不能进行动画呢?


.new-item.ng-hide-add{
    opacity:1;
}

.new-item.ng-hide-add-active{
    opacity:0;
}

.new-item.ng-hide-remove{
    top: 10px;
}

.new-item.ng-hide-remove-active{
    top: 0px;
}

添加动画的第二种方式:通过js的方式

//ng-if、ng-view、ng-repeat、ng-include、ng-switch 指令
appH5.animation(".new-item",function(){
    return {
        leave:function(element,done){
            //第一个参数是运动的元素,第二个参数是动画完成后的回调,必须调用的,不调用则指令功能不会执行
            $(element).animate({width:0,height:0},1000,done);//借助jQuery
        },
        enter:function(element,done){
            $(element).css({width:100,height:100});//借助jQuery
            $(element).animate({width:100,height:100},1000,done)//借助jQuery
        }
    }
});

//ng-show ng-hide ng-class 指令
appH5.animation(".new-item",function(){
    return {
        addClass:function(element,sClass,done){
            //第一个参数是运动的元素
            //第二个参数是元素的样式-->一般用不上
            //第三个参数是动画完成后的回调,必须调用的,不调用则指令功能不会执行
            $(element).animate({width:0,height:0},1000,done)
        },
        removeClass:function(element,sClass,done){
            $(element).css({width:100,height:100});
            $(element).animate({width:100,height:100},1000,done)
        }
    }
});

以上是“ngAnimate插件有什么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

ngAnimate插件有什么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

jQuery插件ajaxFileUpload有什么用

jQuery插件ajaxFileUpload是用于实现文件上传功能的插件。通过使用ajaxFileUpload插件,可以在不刷新页面的情况下,实现文件的异步上传。该插件可以将文件上传到服务器,并在上传完成后返回相应的结果,通常用于实现头像上
2023-08-18

Google开源Eclipse插件有什么用

本篇内容介绍了“Google开源Eclipse插件有什么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Google的Eclipse插件GP
2023-06-17

Eclipse的插件MyBatis Editor有什么用

这篇文章将为大家详细讲解有关Eclipse的插件MyBatis Editor有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MyBatis Editor是一个Eclipse的插件,用来编辑MyBat
2023-06-17

Paint Stick for Mac插件有什么用

这篇文章主要介绍Paint Stick for Mac插件有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PAInt Stick for Mac版官方介绍PAInt&Stick,坚持现场演出!直接与您的自定义画
2023-06-02

MatrixOne的Eclipse插件MxEclipse有什么用

这篇文章将为大家详细讲解有关MatrixOne的Eclipse插件MxEclipse有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MX-Eclipse 0.9.2有了这个插件以后写eMatrix
2023-06-03

Red Hat上的Nagios插件有什么用

这篇文章主要介绍了Red Hat上的Nagios插件有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Nagios的插件简介Nagios本身并不包含任何监控机制,其所有的
2023-06-16

vue插件组件库用法有什么区别

Vue作为一个流行的前端框架,具有组件化的设计思想。为了方便开发者,Vue社区中涌现出了很多的插件和组件库,其中包括了很多优秀的UI组件,例如Element UI、Ant Design Vue等。然而,初学Vue的开发者可能会感到困惑,不知道插件和组件库的使用方法是否有所不同,是否需要注意一些细节问题。本文将从两个方面介绍插件和组件库的使用方法以及区别,为大家提供一些参考建议。
2023-05-18

WordPress插件扫描工具plecost有什么用

这篇文章主要介绍了WordPress插件扫描工具plecost有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。WordPress插件扫描工具plecostWordPre
2023-06-04

OFX插件BorisFX Sapphire 2020 for Mac有什么用

小编给大家分享一下OFX插件BorisFX Sapphire 2020 for Mac有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!OFX插件BorisF
2023-06-05

编程热搜

目录