如何实现2D动画
一句话总结:就是transform属性,属性值为1.translate() 2.rotate() 3.scale(),而这是哪个属性值是带参数的。
1、transform:translate和相对定位relative的不同?
没旋转的时候是一模一样,都是占据文档流,然后移动
但是,一旦旋转,transform:translate是以图片旋转后为直接坐标系来动,
而相对定位relative还是以浏览器窗口做移动的直角坐标系
2、图片旋转后,关于图片的位移操作的直接坐标系还是浏览器窗口么?
不是
旋转发生,图片的坐标轴不认浏览器,只认图片的
3、如何实现图片对角线移动(或朝某个角度移动)?
旋转,然后移动(translate)
4、动画的关键词是什么,属性值中的移动和旋转的关键词又是什么?
transform
1.translate()
2.rotate()
3.scale()
5、如何实现元素的移动或者旋转?
2 transform:translate(300px,300px);
16 transform:rotate(20deg);
6、如何让超出div的图片隐藏?
17 overflow:hidden;
7、二维动画的属性值(平移和旋转)的移动参数分别是什么?
用脑子想,而不是用脑子记
2 transform:translate(300px,300px);
16 transform:rotate(20deg);
8、jquery中如何设置定时事件?
和在js一样
setInterval一个参数是匿名函数,一个参数是时间
33 setInterval(function(){
34 s+=v;
35 obj.css({'transform':'rotate(20deg) translate('+s+'px,0px)'});
36 },10);
二、如何实现2D动画
1、相关知识
2D样式:
1.translate()
2.rotate()
3.scale()
1.translate()
2.rotate()
3.scale()
2、代码
translate相对移动
1 div{
2 transform:translate(300px,300px);
3 }
translate和rotate实现2D旋转
1 <!doctype html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>index</title>
6 <style>
7 *{
8 font-family: 微软雅黑;
9 margin:0px;
10 }
11
12 div{
13 width:256px;
14 height:256px;
15 background: #ccc;
16 transform:rotate(20deg);
17 overflow:hidden;
18 }
19
20 </style>
21 <script src='jquery.min.js'></script>
22 </head>
23 <body>
24 <div>
25 <img src="dog.png" alt="">
26 </div>
27 </body>
28 <script>
29 $('div').click(function(){
30 s=0;
31 v=10;
32 obj=$(this);
33 setInterval(function(){
34 s+=v;
35 obj.css({'transform':'rotate(20deg) translate('+s+'px,0px)'});
36 },10);
37 });
38 </script>
39 </html>
rotate实现2D自动旋转
1 <!doctype html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>index</title>
6 <style>
7 *{
8 font-family: 微软雅黑;
9 margin:0px;
10 }
11
12 div{
13 width:256px;
14 height:256px;
15 background: #ccc;
16 overflow:hidden;
17 border-radius:256px;
18 }
19
20 </style>
21 <script src='jquery.min.js'></script>
22 </head>
23 <body>
24 <div>
25 <img src="dog.png" alt="">
26 </div>
27 </body>
28 <script>
29 $('div').click(function(){
30 s=0;
31 v=-10;
32 obj=$(this);
33 setInterval(function(){
34 s+=v;
35 obj.css({'transform':'rotate('+s+'deg)'});
36 },10);
37 });
38 </script>
39 </html>

浙公网安备 33010602011771号