zoukankan      html  css  js  c++  java
  • 如何实现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()

    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             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             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>
  • 相关阅读:
    mysql查找有某列但没有此列索引的表
    mysql找到所有索引
    mysq在某一刻同时获取主从库的位置点
    新书《深入应用C++11:代码优化与工程级应用》出版,感谢支持
    c++11实现一个简单的lexical_cast
    应该用bind+function取代虚函数吗?
    《深入应用C++11:代码优化与工程级应用》开始发售
    一个更好的C++序列化/反序列化库Kapok
    C++技术沙龙主要内容
    C++11模版元编程
  • 原文地址:https://www.cnblogs.com/yanyanstyle/p/11461756.html
Copyright © 2011-2022 走看看