ngAnimate插件有什么用
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍ngAnimate插件有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ngAnimate插件是做什么的?ngAnimate插件如其名字一样是为元素提供动画
千家信息网最后更新 2025年02月01日ngAnimate插件有什么用
这篇文章主要介绍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插件有什么用"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
元素
动画
状态
指令
插件
页面
参数
方式
样式
属性
内容
功能
篇文章
节点
运动
不同
相同
三个
两个
价值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库7z怎么打开
云堤服务器
58同城找软件开发兼职
大型软件开发中的困难表现
数据库数据存储的名称
stata软件开发者
软件开发动图代码
ipfs服务器详解
网络安全领域rust
国内信息系统网络安全案例
黄浦区一站式网络技术参考价
sql数据库中ddl是什么意思
小学网络安全作业内容
点极互联网科技有限公司
新疆龙鸣网络技术有限公司
软件开发明年计划
吾悠互联网科技服务有限公司
欧服换服务器
单位网络安全日志
荒野行动为什么进不了服务器
王者服务器一般是哪个区
联想服务器系统u盘启动
格瑞特互联网科技有限公司
模拟山羊手机版怎么开服务器
口碑好的管理软件开发
浙江商业软件开发预算
徐州学软件开发要多久
关系型数据库搭建网站
access数据库 页
街道加强网络安全标准宣贯培训