jQuery-velocity.js 插件的简易使用

初识Velocity动画,感觉它并没有那么强大,但是渐渐感觉它的ui动画可以让我们简易的使用到我们的项目中。

Velocity动画的简介:

  下载地址:http://www.julian.com/research/velocity/

  兼容性:IE8 和 Android2.3

  官网的配置代码:

  

require.config({
    paths: {
        "jquery": "/path/to/jquery-x.x.x",
        "velocity": "path/to/velocity",
        // Optional, if you're using the UI pack:
        "velocity-ui": "path/to/velocity.ui"
    },
    shim: {
        "velocity": {
            deps: [ "jquery" ]
        },
        // Optional, if you're using the UI pack:
        "velocity-ui": {
            deps: [ "velocity" ]
        }
    }
});

 

require([ "jquery", "velocity", "velocity-ui" ], function ($, Velocity) {
    /* Your app code here. */
    $("body").velocity({ opacity: 0.5 });
});

 

Velocity.js的基本用法:

    1.引入jQuery.js库

    2.引入velocity.min.js库

    3.引入velocity.ui.min.js库

    官网用法代码:

$element.velocity({
    width: "500px",
    property2: value2
}, {
    /* Velocity's default options */
    duration: 400,
    easing: "swing",
    queue: "",
    begin: undefined,
    progress: undefined,
    complete: undefined,
    display: undefined,
    visibility: undefined,
    loop: false,
    delay: false,
    mobileHA: true
});

  第一个参数 为 CSS属性

  第二个参数为 velocity 配置选项

  

  duration : 400 动画时长

  easing : “swing”

  queue : “”

  begin: undefined

  progress: undefined

  complete: undefined

  display: undefined

  visibility: undefined

  loop: false

  delay: false 动画延迟时间

  mobileHA: true

 

制作动画序列的三种方法:

  前面两种省略。

  我想把最好的方式推荐给大家:

  官网的示例代码:

  var mySequence = [

    {e: $element1, p: {translateX: 100}, o:{duration: 1000}},

    {e: $element2, p: {translateX: 200}, o:{duration: 1000, sequenceQueue: false}},

    {e: $element3, p: {translateX: 300}, o:{duration: 1000}}

  ];

  $.Velocity.RunSequence(mySequence);

 

  1.创建一个动画序列

  var seq = [

    {

      elements : $('#div1'),

      properties : { width: '300px' },

      options : { duration : 1000 }

    },

    {

      elements : $('#div1'),

      properties : { width: '300px' },

      options : { duration : 1000 }

    },

    {

      elements : $('#div1'),

      properties : { width: '300px' },

      options : { duration : 1000 }

    }

  ];

 

  2.运行动画序列 seq

    $.Velocity.RunSequence(seq);

 

预定义动画和自定义动画:

  1.预定义动画

    $('#div1').on('mouseover',function(){

      $(this).velocity('callout.shake');

    });

  还有很多预定义动画,这里我根据官网一一列举一下:

callout.bounce

callout.shake

callout.flash

callout.pulse

callout.swing

Callout.tada

transition.fadeIn

transition.fadeOut

transition.flipXIn

transition.flipXOut

transition.flipYIn

transition.flipYOut

transition.flipBounceXIn

transition.flipBounceXOut

transition.flipBounceYIn

transition.flipBounceYOut

transition.swoopIn

transition.swoopOut

transition.whirlIn

transition.whirlOut

transition.shrinkIn

transition.shrinkOut

transition.expandIn

transition.expandOut

transition.bounceIn

transition.bounceOut

transition.bounceUpIn

transition.bounceUpOut

transition.bounceDownIn

transition.bounceDownOut

transition.bounceLeftIn

transition.bounceLeftOut

transition.bounceRightIn

transition.bounceRightOut

transition.slideUpIn

transition.slideUpOut

transition.slideDownIn

transition.slideDownOut

transition.slideLeftIn

transition.slideLeftOut

transition.slideRightIn

transition.slideRightOut

transition.slideUpBigIn

transition.slideUpBigOut

transition.slideDownBigIn

transition.slideDownBigOut

transition.slideLeftBigIn

transition.slideLeftBigOut

transition.slideRightBigIn

transition.slideRightBigOut

transition.perspectiveUpIn

transition.perspectiveUpOut

transition.perspectiveDownIn

transition.perspectiveDownOut

transition.perspectiveLeftIn

transition.perspectiveLeftOut

transition.perspectiveRightIn

transition.perspectiveRightOut

 

  2.自定义动画:

    官网推荐代码:

    $.Velocity.RegisterEffect(name,{

      defaultDuration : duration ,

      calls : [

        [ { property : value }, durationPercentage, {options} ],

        [ { property : value }, durationPercentage, {options} ]

      ],

      reset : { property : value, property : value }

    });

 

  下面是我写的代码:

  $.Velocity.RegisterEffect ( 'jiangbo.pulse', {

    defaultDuration : 300,

    calls : [

      [ { scaleX : 1.1 }, 0.5 ],

      [ { scaleX : 1.0 }, 0.5 ]

    ]

  } );

  $('#div1').on('mouseover',function(){

    $(this).velocity('jiangbo.pulse');

  });

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值