zoukankan      html  css  js  c++  java
  • Velocity的使用方法

    什么是Velocity?

    Velocity是一个简单易用、高性能、功能丰富的轻量级JS动画库。

    它能和 jQuery 完美协作,并和$.animate()有相同的 API, 但它不依赖 jQuery,可单独使用

    Velocity 不仅包含了 $.animate() 的全部功能, 还拥有:颜色动画、转换动画(transforms)、循环、 缓动、SVG 动画、和 滚动动画 等特色功能。

    它比 $.animate() 更快更流畅,性能甚至高于 CSS3 animation, 是 jQuery 和 CSS3 transition 的最佳组合,它支持所有现代浏览器,最低可兼容到 IE8 和 Android 2.3。

    Velocity的使用步骤

    1.导入模块

    1.1单独导入velocity.min.js模块

    // 无 jQuery 或 Zepto 时,Velocity()方法挂载在 window 对象上 (window.velocity)
    // ( 第一个参数为原生js的dom选择器 )
    Velocity(document.getElementById("dummy"), {
        opacity: 0.5
    }, {
        duration: 1000
    });
    
    // 使用 jQuery 或 Zepto 时
    $("#dummy").velocity({
        opacity: 0.5
    }, {
        duration: 1000
    });

    1.2导入jquery.min.js、velocity.min.js模块。(注意:使用 jQuery 时,必须在 Velocity 之前加载 jQuery:)

    <body>
        <!-- dom -->
        <div class="element"></div>
    
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/velocity/1.5.0/velocity.min.js"></script>
    </body>

    2.利用Velocity实现动画

    Velocity接收一组 css 属性键值对 (css map) 作为它的第一个参数,该参数作为动画效果的最终属性。第二个参数是可选参数 为动画的额外配置项。下面为参数的写法:

    $element.velocity({
         "500px",        // 动画属性 宽度到 "500px" 的动画
        property2: value2      // 属性示例
    }, {
        /* Velocity 动画配置项的默认值 */
        duration: 400,         // 动画执行时间
        easing: "swing",       // 缓动效果
        queue: "",             // 队列(你可以通过设置多个queue:"" 强制并行执行多个新动画:)
        begin: undefined,      // 动画开始时的回调函数
        progress: undefined,   // 动画执行中的回调函数(该函数会随着动画执行被不断触发)
        complete: undefined,   // 动画结束时的回调函数
        display: undefined,    // 动画结束时设置元素的 css display 属性
        visibility: undefined, // 动画结束时设置元素的 css visibility 属性
        loop: false,           // 循环(注意点: 从初始位置到指定位置再到初始的位置算一次)
        delay: false,          // 延迟
        mobileHA: true         // 移动端硬件加速(默认开启)
    });

    Velocity常用事件

    progress为动画执行过程中调用的函数, 有elementscomplete, remaining,start, tweenValue5个参数:
    
    elements:当前执行动画的元素,可以用$(elements)来获取
    complete:整个动画过程执行到百分之多少,该值是递增的,注意:该值为一个十进制数值 并不带单位 (%)
    remaining:整个动画过程还剩下多少毫秒,该值是递减的
    start:动画开始时的绝对时间 (Unix time)
    tweenValue:动画执行过程中 两个动画属性之间的补间值
    
    progress: function(elements, complete, remaining, start, tweenValue) {
            console.log((complete * 100) + "%");
            console.log(remaining + "ms remaining!");
            console.log("The current tween value is " + tweenValue)
        }
    
    //简写progress
    progress: function(elements, c, r, s, t) {
            console.log("The current tween value is " + t)
        }
  • 相关阅读:
    Node.js之使用Buffer类处理二进制数据
    node.js之require
    node.js之模块
    node.js之setTimeout()、clearTimeout()与 setInterval()与clearInterval()
    Node.js之包与npm包管理工具
    node.js基础知识
    运维之linux基础知识(一)
    node.js之调试器
    Ubuntu 18.04安装搜狗输入法
    微信小程序项目总结记账小程序(包括后端)
  • 原文地址:https://www.cnblogs.com/sunchao0709/p/12194694.html
Copyright © 2011-2022 走看看