TweenMax中文初级教程四

2020-04-17 11:29:23

ScrollToPlugin (不包含于TweenMax.js)

用于滚动窗口(类似于window.scrollTo(x, y))或DOM元素(如myDiv.scrollTop = y; myDiv.scrollLeft = x;)。滚动窗口时使用window作为动画目标。

//窗口滚动到400pxTweenLite.to(window, 2, {scrollTo:400});//窗口滚动到锚点TweenLite.to(window, 2, {scrollTo:"#someID"});//div滚动到250pxTweenLite.to(myDiv, 2, {scrollTo:250});//同时滚动X和Y方向TweenLite.to(myDiv, 2, {scrollTo:{y:400, x:200}, ease:Power2.easeOut});//滚动到锚点#someID上方50pxTweenMax.to(window, 2, {scrollTo:{y:"#someID", offsetY:50}});//滚动到最下方TweenLite.to(myDiv, 2, {scrollTo:{y:"max"}});TweenLite.to(myDiv, 2, {scrollTo:"max"});
ScrollToPlugin自动终止 (autoKill默认为true)

用户主动控制滚动时(例如拖动滚动条)插件默认会自动终止滚动。自动终止时会触发onAutoKill事件

TweenLite.to(window, 2, {scrollTo:{y:300,autoKill:true,onAutoKill:myAutoKillFunction}});function myAutoKillFunction() {
 alert("autoKill");}

ColorPropsPlugin (不包含于TweenMax.js)

ColorPropsPlugin主要用于直接在JavaScript对象上补间其他与颜色相关的属性,而不是补间元素的CSS颜色属性,因为CSSPlugin已经处理了这些。如rgba(255,0,51,0.5),#f0c,0xFF00CC,res,hsl(105,50%,80%)等。

//动画自定义函数setColor的颜色值TweenLite.to(myObject, 1, {colorProps:{setColor:"rgb(102,255,51)"}, ease:Linear.easeNone});//自定义函数获取颜色var color = myObject.lineColor(); 
 //自定义函数设置颜色myObject.lineColor("rgb(255,0,51)"); 
 //对颜色进行补间动画TweenLite.to(myObject, 1, {colorProps:{lineColor:"rgb(102,255,51)"}, ease:Linear.easeNone});

ModifiersPlugin (不包含于TweenMax.js)

ModifiersPlugin 可以为几乎任何属性定义“修饰符(Modifiers)”函数作为 拦截器 。此修饰符拦截动画通常在每次更新(“tick”)时应用的值,将其作为第一个参数提供给你的函数,并允许你运行自定义逻辑,返回动画应用的新值。

  • value number | string 常规补间动画中即将应用的值。

  • target    object 目标本身。

例:将旋转修改为每45度角跳动一次,类似于RoundPropsPlugin

var degrees = 45;var tween = TweenMax.to(".arrow", 4, {rotation:360,
  modifiers: {
      rotation: function(rotation) {
        return Math.round(rotation / degrees) * degrees;   
      }
    },
 ease:Linear.easeNone,
 repeat:6,})

例:走马灯(轮播)特效 每个框在超过500时重置为x:0

TweenMax.to(".box", 5, {
  ease: Linear.easeNone,
  x: "+=500", //将每个块向右移动500px
  modifiers: {
    x: function(x) {
      return x % 500; //强制x值在0和500之间
    }
  },
  repeat: -1});



  • 2018-04-20 09:12:07

    如何在 7 分钟内黑掉 40 家网站?

    去年夏天我开始学习信息安全与黑客技术。在过去的一年中,我通过参加各种战争游戏、夺旗以及渗透测试模拟,不断提高我的黑客技术,还学习了很多关于“如何让计算机偏离其预期行为”的新技术。

  • 2018-04-25 00:46:48

    Android开发笔记——SharedPreferences 存储实体类以及任意类型

    我们常常要用到保存数据,Android中常用的存储方式有SQLite,sharedPreferences 等,当然也有各自的应用场景,前者适用于保存较多数据的情形,后者责倾向于保存用户偏好设置比如某个checkbox的选择状态,用户登录的状态等等,都是以键值对的形式进行的文件读取,可以存储String,int,booean等一些基本数据类型等等。

  • 2018-04-25 11:48:44

    Java泛型详解

    泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用。本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理,以及让人苦恼的类型擦除。

  • 2018-05-05 20:31:52

    StringUtils就这1张图,必备(二)

    StringUtils是工作中使用最频繁的一个工具类,提供了大量丰富的字符串操作方法,下面是所有方法的一个蓝图:

  • 2018-05-06 00:41:36

    设置EditText不自动聚焦

    如果界面中有EditText的时候,用户打开界面的话EditText就会自动聚焦。如果想取消这种一打开界面EditText就聚焦效果,可在EditText的上级父容器中加入如下代码:

  • 2018-05-21 13:54:06

    laravel-nestedset:多级无限分类正确姿势

    Nested Set Model 是一种实现有序树的高明的方法,它快速且不需要递归查询,例如不管树有多少层,你可以仅使用一条查询来获取某个节点下的所有的后代,缺点是它的插入、移动、删除需要执行复杂的sql语句,但是这些都在这个插件内处理了!