ngAnimate插件是做什么的?

ngAnimate插件是做什么的?

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

怎么定义动画?

第一步必须是引入插件


登录后复制

 

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


登录后复制登录后复制登录后复制

var appH5=angular.module("app",['ngAnimate']);appH5.controller("myTabCtrl",['$scope',function($scope){         $scope.isShow=true;}])
我是要动画的元素
添加动画的第一种方式:通过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
我是要动画的元素

登录后复制


登录后复制登录后复制登录后复制

 


登录后复制登录后复制登录后复制

为什么添加样式就可以产生动画?
当元素进入页面时,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{/*ng-repeat提供了这个样式,来实现每一个item条目的依次执行某个动画 */  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
{{new.title}}

登录后复制

 

刚才说通过新建和删除元素来实现的指令是可以进行动画的,那么只是更改样式显示或者隐藏元素的指令(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插件是做什么的?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2910493.html

(0)
上一篇 2025年3月11日 04:33:35
下一篇 2025年2月25日 17:30:26

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • angular的$watch方法详解

    在$apply方法中提到过脏检查,首先apply方法会触发evel方法,当evel方法解析成功后,会去触发digest方法,digest方法会触发watch方法。 (1)$watch简介 在digest执行时,如果watch观察的的valu…

    2025年3月11日
    200
  • HTML5如何绘制动画?(代码实例)

    本篇文章给大家带来的内容是关于html5如何绘制动画?(代码实例) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 虽然canvas的API并未直接提供支持动画的方法,但就其本身而言,在canvas中实现动画效果也很简单:…

    2025年3月11日
    200
  • HTML5实现对话气泡点击动画

    本篇文章给大家介绍一下使用html5实现对话气泡点击动画的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 需求 还是要先把需求拿出来。 要求: 对话气泡要有动画,动画总共4秒在没有点击的时候,气泡每隔8秒出现一次在点…

    2025年3月11日
    200
  • HTML5+CSS3动态画出一个大象

    在之前的文章《利用css制作有趣的文字摆动动画特效》中,我们介绍了利用css制作有趣文字摆动动画特效的方法。这次我们给大家介绍一下利用html5+css3如何动态画出一个大象,感兴趣的可以学习了解一下~ 今天本文的主要内容是:利用HTML5…

    2025年3月11日 编程技术
    200
  • 如何使用HTML5+CSS3动态画一个笑脸

    在之前的文章中我们介绍了利用html5+css3动态画出一个大象的方法,感兴趣的可以点击链接进行查阅→《html5+css3动态画出一个大象》。这次我们继续聊聊利用html5+css3实现动画效果,介绍一下动态画一个笑脸的方法。 今天本文的…

    2025年3月11日 编程技术
    200
  • css3动画效果总结分析

    css3的动画功能有以下三种: 1、transition(过度属性)2、animation(动画属性)3、transform(2D/3D转换属性) 下面逐一进行介绍我的理解: 1、transition: 如-webkit-transitio…

    2025年3月11日
    200
  • css动画和照片清晰度动画的实现方法介绍

    实例如下: 源代码: nbsp;html>donghua.beijing{ border: 1px solid black; width: 100%; height: 800px; background: black; } .a1 i…

    2025年3月11日
    200
  • CSS3实现可爱的小黄人动画示例代码

    每次看到css3动画就心痒痒想试一下,记得一个多月前看了白树哥哥的一篇博客,突然开窍,于是拿他提供的demo试了一下,感觉很棒!下图为demo提供的动画帧设计稿。 自己也想说搞一个DIY的动画出来,可是,会PS不一定会设计啊,我搞不出一套动…

    2025年3月11日 编程技术
    200
  • 推荐十个CSS3动画实例

    我们的网页外观主要由CSS控制,编写CSS代码可以任意改变我们的网页布局以及网页内容的样式。CSS3的出现,更是可以让网页增添了不少动画元素,让我们的网页变得更加生动有趣,并且更易于交互。本文分享了10个非常炫酷的CSS3动画案例,希望大家…

    2025年3月11日 编程技术
    200
  • css做出波纹动画

    这次给大家带来css做出波纹动画,css做出波纹动画的注意事项有哪些,下面就是实战案例,一起来看一下。 效果图如下 实例代码如下 body{ background: #000; } .box{ width: 100%; height: 60…

    2025年3月10日
    200

发表回复

登录后才能评论