Animate 是目前最通用的CSS3 动画库。但今天,大师兄要给大家推荐另一款非常简单和优雅的支持CSS3动画的JavaScript库:Move.js
Move.js
是一个运动的Javascript库,它支持CSS3的动画,不过不需要用CSS3代码去编写,只需要用avascript编写就可以.
Move.js的好处相对于原生如下:
1.在cdnjs中搜索Move.js
。2.把Move.js
外链放到页面中。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/move.js/0.5.0/move.js"></script>
注意这里使用到了jQuery。因为动画效果需要选中元素
Move.js
的使用基本分三步走:
其中,1和3是固定的模式。
通过 move( $obj )
返回动画的move实例。
var $Obj = move( $('#role') );
通过 .end...
执行动画。
这里特别需要注意end(()-> {...})
函数的调用。如果没有此语句,动画不会被执行。
至于里面的回调函数,这是可有可无的。使用回调函数
主要是为了实现多重嵌套
。
$Obj.set('margin-left', '200px')
.end();
注意不是$Obj.set('margin-left', 200);
需要转换成 200PX,才能出现动画效果。
在上例中,将动画元素左偏移到200像素的位置。
$Obj.add('margin-left', 10).end(); // 参数2必需是数值!
在上例中,每执行一次动画元素会在当前位置基础上向左偏移10像素。
$Obj.rotate(30).end();
在上例中,将动画元素旋转30度。
$Obj.scale(3).end();
在上例中,将动画元素30度放大3倍。当然,X或Y方向上放大倍数可以不一样。
$Obj.x(300)
.skew(50)
.set('height', 20)
.end
示例中,X方向上移动300的距离,斜切50,高度变为20px。
move('#example .box1').x(400).end();
move('#example .box2').ease('in').x(400).end();
move('#example .box3').ease('out').x(400).end();
move('#example .box4').ease('in-out').x(400).end();
move('#example .box5').ease('snap').x(400).end();
move('#example .box6').ease('cubic-bezier(0,1,1,0)').x(400).end();
上面示例中,就是各个动画过渡的演示。基本够一般项目中使用了。
Move.js
还有其他诸如动画延时、动画分割、动画顺序等功能的操作。欢迎大家查询以下链接进行查阅和练习。
地址 https://visionmedia.github.io/move.js/
欢迎加入前端实验室读者交流群,群里有不少技术大神,不定时会分享一些技术要点,更有一些资源收藏爱好者会分享一些优质的学习资料。吃瓜、摸鱼、白嫖技术就等你了~
进群方式:在下方公众号后台,回复 111
,按提示操作即可进群。
如果该文章对你有帮助,那么就点击右下角的 [点赞]「在看」,给一个小小的鼓励吧~