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,{width: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",{width:"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>

 

转载于:https://www.cnblogs.com/tujia/p/3217449.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值