>>分享Web前端开发技术,并对孙卫琴的《精通Vue.js:Web前端开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 15655 个阅读者 刷新本主题
 * 贴子主题:  Velocity.js动画库的使用 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2021-02-19 19:37:22     消息  查看  搜索  好友  邮件  复制  引用

1、简介

Velocity 是一个简单易用、高性能、功能丰富的轻量级JS动画库。它能和 jQuery 完美协作,并和$.animate()有相同的 API, 但它不依赖 jQuery,可单独使用。

2、兼容性

可兼容到 IE8 和 Android 2.3。

若需要兼容 IE8,就必须引入 jQuery 1.x

3、示例代码(注意文件引用路径)

(1)index.html
<!DOCTYPE html>
<html lang="zh">

    <head>
        <meta charset="UTF-8" />
        <link rel="stylesheet" type="text/css" href="css/style.css" />
        <title>velocity.js使用</title>
    </head>

    <body>
        <div class="box" id="div1">

        </div>
        <div class="box" id="div2">

        </div>
        <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
        <script src="js/velocity.min.js" type="text/javascript" charset="utf-8"></script>
        <!--velocity.ui 在 velocity 之后加载-->
        <script src="js/velocity.ui.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="js/index.js" type="text/javascript" charset="utf-8"></script>
    </body>

</html>

(2)style.css

.box{
    width: 100px;
    height: 100px;
    background-color: pink;
}
(3)index.js


(function($) {
    //    $('#div1').velocity({
    //        width: '300px'
    //    }, {
    //        //动画时长
    //        duration: 3000,
    //        //动画执行完后执行的回调
    //        complete: function() {
    //            $('#div2').velocity({
    //                width: '300px'
    //            }, {
    //                duration: 3000
    //            })
    //        }
    //    });
    //动画序列
//    var seq = [{
//            elements: $('#div1'),
//            properties: {
//                width: '300px'
//            },
//            options: {
//                durations: 1000
//            }
//        },
//        {
//            elements: $('#div2'),
//            properties: {
//                width: '300px'
//            },
//            options: {
//                durations: 1000
//            }
//        }
;
//    $.Velocity.RunSequence(seq);

//预定义动画
$('#div1').on('mouseover',function(){
    $(this).velocity('callout.shake')
});
})(jQuery);

4、使用

(1)参数配置:


$element.velocity({
    properties: { opacity: 1 },
    options: { duration: 500 }
});

// 或者:
$element.velocity({
    p: { opacity: 1 }, // 可以将 properties 简写成 p
    o: { duration: 500 }
});

基础配置:


$element.velocity({
    width: "500px",        // 动画属性 宽度到 "500px" 的动画
    properties: value2      // 属性示例
}, {
    /* Velocity 动画配置项的默认值 */
    duration: 400,         // 动画执行时间
    easing: "swing",       // 缓动效果
    queue: "",             // 队列
    begin: undefined,      // 动画开始时的回调函数
    progress: undefined,   // 动画执行中的回调函数(该函数会随着动画执行被不断触发)
    complete: undefined,   // 动画结束时的回调函数
    display: undefined,    // 动画结束时设置元素的 css display 属性
    visibility: undefined, // 动画结束时设置元素的 css visibility 属性
    loop: false,           // 循环
    delay: false,          // 延迟
    mobileHA: true         // 移动端硬件加速(默认开启)
});

(2)Complete属性

complete为动画结束时的回调函数,在无限循环模式下(设置loop: true) 该回调函数将不会执行,但是有规定次数的循环模式下(比如设置设置loop: 3) 该回调函数 将只会在最后一次循环结束后 执行一次。

(3)delay属性

和 jQuery 的$.delay()方法一样,动画将会延迟所设定的毫秒后执行。

(4)支持SVG动画

(5)velocity.ui.js

velocity.ui.js 是 velocity.js 的 动画插件(1.8 KB ZIP’ed) 我们可以用它快速创建炫酷的动画特效,它依赖于 velocity.js。

elocity.ui 有2个重要方法:$.Velocity.RegisterEffect()和 $.Velocity.RunSequence()
前者允许你将多个 Velocity 动画合并存储到一个自定义数组里,你可以通过引用该数组的名称 在项目中复用, 后者能帮你改进嵌套的动画序列 使得更易于管理。



Velocity.ui.js 内置了很多常用的动画特效,分为 callout.* 和 transition.* 两类。


程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->Swing组件(下)
  JavaWeb开发-->自定义JSP标签(Ⅱ)
  JSP与Hibernate开发-->Spring、JPA与Hibernate的整合
  Java网络编程-->非阻塞通信
  精通Spring-->通过Axios访问服务器
  Vue3开发-->Vue Router路由管理器
  聊聊Nodejs中的模块化和事件循环
  JS中==和===的区别
  介绍axios的基本使用(vue中使用axios)
  vue 项目中使用loadsh 的 防抖(debounce)和节流(throttle...
  基于vue和springmvc前后端分离,json类接口调用介绍
  Vue经典面试题: Vue.use和Vue.prototype.$xx有血缘关系吗? -
  Vue开发常用的框架及案例
  jQuery 添加元素
  CSS 属性选择器
  HTML 表格标签的用法
  HTML 头部的元素的用法
  JavaScript 测试 jQuery
  JavaScript 库
  JavaScript 变量提升
  JavaScript 严格模式(use strict)
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。