前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >轻量级的CSS动画引擎——AniX

轻量级的CSS动画引擎——AniX

作者头像
青梅煮码
发布2023-03-13 16:19:56
3240
发布2023-03-13 16:19:56
举报
文章被收录于专栏:青梅煮码青梅煮码

介绍

ANIX是一个轻量级且易于使用的动画库,在现代浏览器发挥优良的性能和良好的兼容性。它采用了原生的CSS属性的过渡,不是JS模拟动画,因此性能更好。并且可以使用硬件加速。ANIX不到3K的大小 有多种版本的ANIX实现,UMD版本,jQuery的版本和React版本等…

3c013fff7e744f8db1eb93a5b7563362
3c013fff7e744f8db1eb93a5b7563362

Github

代码语言:javascript
复制
https://github.com/drawcall/AniX

简单使用

PS:可以先看demo标题进行预览,动态展示

使用npm进行包管理安装

代码语言:javascript
复制
$ npm install anix

umd版本

代码语言:javascript
复制
<script src="./js/anix.umd.ts" type="text/javascript"></script>

jquery版本

代码语言:javascript
复制
<script src="./js/jquery.js" type="text/javascript"></script>
<script src="./js/anix.jq.ts" type="text/javascript"></script>
代码语言:javascript
复制
//1. 导入AniX
import { AniX } from 'anix';

//2. AniX.to
AniX.to(dom, 1, {
    width: "200px",
    height: "100px"
});

一共有以下四种方式可用

代码语言:javascript
复制
//AniX.to
$(..).to(time: number, args: {ease?:string; delay?:number; [propName:string]:any;})

//AniX.fromTo
$(..).to(time: number, fromArgs: Object, toArgs: Object)

//AniX.kill
$(..).kill(complete?: boolean)

//AniX.get
$(..).getTransform(param: any)

//AniX.ease
$.ease.easeOut

React中使用

代码语言:javascript
复制
class MyComponent extends React.Component {
    constructor(props) {
        super(props);
        this.myRef = React.createRef();
        this.clickHandler = this.clickHandler.bind(this);
    }

    clickHandler(e) {
        const node = this.myRef.current;
        // animation
        AniX.to(node, 1, {
            x: 300,
            y: 10,
            scale: 2
        });
    }

    render() {
        return (
            <div>
                <div ref={this.myRef} />
                <button onClick={this.clickHandler}></button>
            </div>
        );
    }
}

Demo预览

ca356a2786b1463abced678effde97c3
ca356a2786b1463abced678effde97c3
a928186376ca4a5496e0777efd66e746
a928186376ca4a5496e0777efd66e746
c7aa5f2a56f84499aa836b7e8393f479
c7aa5f2a56f84499aa836b7e8393f479
5767fd5301244440b4b757ad0b484b57
5767fd5301244440b4b757ad0b484b57
050f607f5f9f4e71a0ecbc54d86f1576
050f607f5f9f4e71a0ecbc54d86f1576
98c048d5bed84cbbbf20d82a814b5534
98c048d5bed84cbbbf20d82a814b5534

总结

AniX具备良好的兼容性,经历过很多真机测试,性能好且包括各种Android设备等,是一个不错的动画库,enjoy it!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • Github
  • 简单使用
  • React中使用
  • Demo预览
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档