zoukankan      html  css  js  c++  java
  • GSAP JS基础教程--TweenLite操作元素的相关属性

    今天来学习用TweenLite操作元素的各种属性,以Div为例,其他元素的操作也是一样的,只是可能一些元素有它们的特殊属性,就可能不同罢了。

     
    代码里用详细注释,我就不再重复啦,大家看代码就可以啦!
     
    注:要一条条撤销注释看效果哦!!!!!!!!!!
     
     
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head>
      <title>GSAP JS基础教程--TweenLite操作元素的相关属性</title>
      <meta http-equiv="content-type" content="text/html;charset=utf-8">
      <meta name="Generator" content="EditPlus">
      <meta name="Author" content="">
      <meta name="Keywords" content="">
      <meta name="Description" content="">
     
      <!--
      *@author AIJ
      *@email 1058514799@qq.com
      *@date 2013-6-28
      -->
      
      <style type="text/css">
     
      #rect{
    position:absolute;
    width:50px;
    height:50px;
    top:300px;
    left:50px;
    background-color:blue;
      }
      </style>
     
     <!--使用之前记得导入包(下面的路径为俺的包的路径,改成你们的包的路径就行啦)-->
     <script src="../greensock/TweenLite.min.js" type="text/javascript"></script>
      <script src="../greensock/Plugins/CSSPlugin.min.js" type="text/javascript"></script>
      <script src="../greensock/easing/EasePack.min.js" type="text/javascript"></script>
      <script type="text/javascript">
      window.onload=init;
     
      //之所以把代码写在onload函数里,是因为页面没加载之前是读取不到网页的节点的
      function init(){
     
    //第一部分:操作div的二维相关属性:
    //位置操作:CSS的(left top margin) 和 GSAP里的(x y) 和 js里的(offsetLeft offsetHeight)
    //left和top是相对网页或元素的父类的位置来计算的坐标,而x,y则是相对元素起始位置来计算的坐标,即元素的起始位置的x,y的值为(0,0)
    TweenLite.to("#rect",1,{left:500,top:200,ease:Back.easeOut});
    //TweenLite.to("#rect",1,{x:300,y:50,ease:Back.easeOut});
     
     
    //注意GSAP里margin-left padding-left等属性的写法要写成marginLeft paddingLeft,即不要“-”,接在“-”后的单词的首字母要大写
    //padding不算是位置的操作,但为了方便,还是和margin写在一起吧
    //TweenLite.to("#rect",1,{marginLeft:100,paddingTop:10,ease:Back.easeOut});
     
     
    //大小操作scaleX scaleY scale width height
    //注意:虽然scale(缩放比例)和width height都可以让元素放大,但是,scale会元素内的内容也一起放大,而width height只是把容器放大啦,里面的内容不大小不变
    //TweenLite.to("#rect",1,{scaleX:2,scale:1.5,ease:Back.easeOut});
    //TweenLite.to("#rect",1,{scale:2,ease:Back.easeOut});
    //TweenLite.to("#rect",1,{200,height:200,ease:Back.easeOut});
     
     
    //变换(transform)操作:
    //其实刚才说的rotation scale x y都属于变换的操作,这里说另外的两个变换(rotation(旋转) skew(倾斜)) 
    //TweenLite.to("#rect",1,{rotation:45,ease:Back.easeOut});
    //TweenLite.to("#rect",1,{skewX:30,ease:Back.easeOut});
    //TweenLite.to("#rect",1,{skewY:-30,ease:Back.easeOut});
     
     
     
     
     
    //第二部分,其他非二维属性操作
    //如果你以为GSAP只能用来移动、放大缩小一些东西来做一些小动画,那你就大错特错啦!
    //来看一下下面的相关属性的操作
     
    //边框的操作,因为前面我们用css定义的方块(rect)是没有边框的,所以我们先来设置一下它的边框,方法如下
    //TweenLite.set("#rect",{border:"solid 1px #000"});//其他的属性也可以使用TweenLite.set来设置
    //TweenLite.to("#rect",1,{borderWidth:10,ease:Back.easeOut});
     
    //TweenLite.to("#rect",2,{backgroundColor:"#FF00FF",ease:Back.easeOut});//背景色
    //TweenLite.to("#rect",2,{color:"#FFF",ease:Back.easeOut});//字体颜色
    //TweenLite.to("#rect",1,{fontSize:24,ease:Back.easeOut});//字体大小
    //行高也是可以设置的,这个一定要使用单位,不然会发生错误
    //TweenLite.to("#rect",1,{lineHeight:"50px",ease:Back.easeOut});
    //TweenLite.to("#rect",1,{opacity:0.5,ease:Back.easeOut});//透明度(兼容所有主流浏览器,包括IE6);
    //既然说到opacity,就是一下另一个调整元素透明度的属性autoAlpha(GSAP里的,CSS里没有)。当元素的透明度为0时,它会自动把元素的display属性值设置为0,即把元素隐藏
    //TweenLite.to("#rect",1,{autoAlpha:0,ease:Back.easeOut});
     
    //第二部分就说到这里,说得不怎 么全面,也不可能说得全面,我也是小白一个,只是把学习笔记记录下来了罢了,没说到的,就请同学们自己动手尝试一下啦!如果,你在使用一个属性,学得不需 要缓动或渐变时,TweenLite依然是很有用的,你只需要使用TweenLite.set方法,就可以快速设置一个元素的多个属性,例如:
    //TweenLite.set("#rect",{"400px",height:"400px",position:"static",margin:"0 auto"});
     
     
     
     
     
     
     
    //第三部分,三维属性操作(rotationX rotationY rotationZ z等等,不懂这几个属性的意思的同学请百度)
    //并不是所有的浏览器都支持CSS3的3D属性,可以到以下网址(http://caniuse.com/transforms3d)查看都有哪些浏览器支持3D属性
     
    //也就是说使用之前你应该:
    //设置元素的父元素的perspactive的值,
    //TweenLite.set("body",{perspactive:500});
    //或设置元素自身的transformPerspactive的值
    //TweenLite.set("#rect",{transformPerspacity:500});
    //再或者,就直接设置CSS的默认transformPerspactive的值
    //CSSPlugin.defaultTransformPerspactve=500;
     
    //好吧,我们来试一下↓
    //TweenLite.to("#rect",1,{rotationX:30,ease:Back.easeOut});
    //TweenLite.to("#rect",1,{rotationY:100,ease:Back.easeOut});
    //TweenLite.to("#rect",1,{rotationZ:45,ease:Back.easeOut});
      }
      </script>
     </head>
     
     <body>
      <!--我们用一个div来模拟一个小方块-->
      <div id="rect">测试</div>
     </body>
    </html>
  • 相关阅读:
    NSTimer与循环引用
    Swift类实例与循环引用的解决
    Swift运算符函数与自定义运算符
    Swift延迟存储属性
    Swift枚举-相关值与递归枚举
    互斥锁、自旋锁、dispatch_once性能对比
    Swift闭包与简化
    原子属性和使用互斥锁实现的属性的性能对比
    [HDOJ]_PID_1004_Let the Balloon Rise
    [HDOJ]_PID_2087_剪花布条
  • 原文地址:https://www.cnblogs.com/tujia/p/3217449.html
Copyright © 2011-2022 走看看