anijs 一个小巧的动画库
很多时候我意识到前端已近变成写h5宣传页面 我不知道是可悲 还是生活的必然
小问题
使用css animation和js animation api制作动画是目前比较流行的做法
但是最后很多人的代码就变成这样
<div class="element-box" element-anim=""
style="top: 101px; left: 41px; z-index: 1; width: 100%; height: 100%; opacity: 1; color: rgb(103, 103, 103); border: 13px double rgb(255, 255, 255); padding-bottom: 0px; padding-top: 0px; line-height: 1; border-radius: 0px; transform: none; box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px; animation: zoomIn 1s ease 0s 1 both;">
<div class="element-box-contents" style="width: 100%; height: 100%;">
<img id="6703306088" ctype="4" class="element comp_image editable-image" src="http://res.eqxiu.com/group3/M00/CC/3D/yq0KZFXWt6qAP9_kAAGjsK_txHk736.png" style="width: 217px; height: 328px; margin-top: -44.5px; margin-left: 0px;">
</div>
</div>
估计这些都是js生成的 那么我有个疑问 还要css 干什么
这些工具生成的代码最后怎么手动开发
我的小想法
申明式编程
无论是手动 还是工具生成的代码都使用同一套库
<div your-directive="sentence;"></div>
于是我找到了一个库 anijs 该库压缩后大小为10kb左右
anijs 是一个js动画框架 实现了类似于我的想法
<div data-anijs="if: click, do: $toggleClass red, to: .box">If you click me, </div>
一个开发人员只要知道什么时候 做什么 ok 无论编辑器 还是手写都是一个语法 核心库还可以分拆维护
anijs 语法
data-anijs -> Sentence 1; ... ; Sentence n
Sentence -> Definition, ... , Definition n
Definition -> if | on | do | to | before | after | helper
有些小例子
比如说我想做个listbox 一个一个接着移动进入场景
这时候我们可以使用animate.css anicollection.css 或者自己写个animation
your style css
@keyframes fadeInRight {
0% {
opacity: 0;
-webkit-transform: translate3d(100%, 0, 0);
-ms-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
100% {
opacity: 1;
-webkit-transform: none;
-ms-transform: none;
transform: none;
}
}
.fadeInRight {
-webkit-animation-name: fadeInRight;
animation-name: fadeInRight;
}
html
<div class="ani-list">
<div class="ani-list__item item1" data-anijs="if: touchstart, on: #main, do: fadeInRight animated;"></div>
<div class="ani-list__item item2" data-anijs="if: animationstart, on: .item1, do: fadeInRight animated;"></div>
<div class="ani-list__item item3" data-anijs="if: animationstart, on: .item2, do: fadeInRight animated;"></div>
<div class="ani-list__item item4" data-anijs="if: animationstart, on: .item3, do: fadeInRight animated;"></div>
<div class="ani-list__item item5" data-anijs="if: animationstart, on: .item4, do: fadeInRight animated;"></div>
<div class="ani-list__item item6" data-anijs="if: animationstart, on: .item5, do: fadeInRight animated;"></div>
<div class="ani-list__item item7" data-anijs="if: animationstart, on: .item6, do: fadeInRight animated;"></div>
<div class="ani-list__item item8" data-anijs="if: animationstart, on: .item7, do: fadeInRight animated;"></div>
<div class="ani-list__item item9" data-anijs="if: animationstart, on: .item8, do: fadeInRight animated;"></div>
<div class="ani-list__item item10" data-anijs="if: animationstart, on: .item9, do: fadeInRight animated;"></div>
</div>
简简单单 不用写什么代码
如果有用一些框架
完全可以封装成如下
<ani-list>
<list-item></list-item>
<list-item></list-item>
<list-item></list-item>
<list-item></list-item>
<list-item></list-item>
<list-item></list-item>
<list-item></list-item>
<list-item></list-item>
<list-item></list-item>
<list-item></list-item>
<ani-list>
如果你想看代码
github地址
本文转载于:猿2048anijs 一个小巧的动画库
anijs 一个小巧的动画库的更多相关文章
- 动画库NineOldAndroids
动画库NineOldAndroids NineOldAndroids组件是一个向下兼容的动画库,主要是使低于API 11的系统也能够使用View的属性动画.该动画库支持旋转.移动.透明渐变.缩放等 ...
- 聊聊JS动画库:Velocity.js
前言 又到了炎热的7月,很久没有更新技术文章了,原因是上月月底实习结束,从公司离职.然后最近在弄自己的项目和考驾照,为了下次公司的应聘做准备,送别了女朋友到外地,哩哩啦啦半个月把一切事情都办妥后,还是 ...
- AOS – 另外一个独特的页面滚动动画库(CSS3)
AOS 是一个用于在页面滚动的时候呈现元素动画的工具库,你可能会觉得它和 WOWJS 一样,的确他们效果是类似的.但是AOS是 CSS3 动画驱动的库,当你滚动页面的时候能让元素动起来,当页面滚回顶部 ...
- Jwalk发布——一个比较小的Js动画库
断断续续折腾了几个晚上终于于周日把Jwalk发布了,顺便用了下yahoo的前端框架-pure css ,很简洁,非常帅.推荐使用以下. 下面说下Jwalk是做什么的: 前端开发过程中经常会用到一些动画 ...
- 一个使用openGL渲染的炫丽Android动画库二(碎片化曲面动画)
续一个使用openGL渲染的炫丽Android动画库 MagicSurfaceView v1.1.0发布, 新增碎片化曲面动画 地址:https://github.com/gplibs/android ...
- 第三方开源动画库EasyAnimation中一个小bug的修复
看过iOS动画之旅的都知道,其中在最后提到一个作者写的开源动画库EasyAnimation(以下简称EA). EA对CoreAnimation中的view和layer动画做了更高层次的包装和抽象,使得 ...
- 使用 js 实现一个简易版的动画库
使用 js 实现一个简易版的动画库 具有挑战性的前端面试题 animation css refs https://www.infoq.cn/article/0NUjpxGrqRX6Ss01BLLE x ...
- css3动画简介以及动画库animate.css的使用
在这个年代,你要是不懂一点点css3的知识,你都不好意思说你是个美工.美你妹啊,请叫我前端工程师好不好.呃..好吧,攻城尸...呵呵,作为一个攻城尸,没有点高端大气上档次的东西怎么能行呢,那么css3 ...
- Snabbt.js – 极简的 JavaScript 动画库
Snabbt.js 是一个简约的 JavaScript 动画库.它会平移,旋转,缩放,倾斜和调整你的元素.通过矩阵乘法运算,变换等可以任何你想要的方式进行组合.最终的结果通过 CSS3 变换矩阵设置. ...
随机推荐
- AcWing 207. 球形空间产生器
传送门 思路: 设球心坐标为(x1,x2,...,xn),有 ,由此我们可以列出N+1个二次方程,我们可以对前后两个方程做差,来得到N个一次方程,同时可以消掉常数C,第i个方程即 那么我们就可以直接采 ...
- iframe和伪造ajax
iframe和伪造ajax 1.iframe标签 <iframe>标签是一个内联框架,即用来在当前HTML页面中嵌入另一个文档的,且所有主流浏览器都支持iframe标签. 1.1基本用法 ...
- KETTLE使用中的错误集锦
1.违反唯一主键约束条件:问题是表中有俩个主键,将备用主键替换成真正的主 键或者是没有对数据做出处理加这句话and cft.DEL_FLAG!='1'或者要到的库有此数据 2.field 某列 is ...
- RT-Thread学习2 —— 内存管理学习记录
RT-Thread学习2 -- 内存管理学习记录1 小内存管理算法(mem.c) 1. 小内存管理法: 小内存管理算法是一个简单的内存分配算法.初始时,它是一块大的内存.当需要分配内存块时,将从这个大 ...
- in memory computing 存内计算是学术圈自娱自乐还是真有价值?
如果单从初衷和预想的价值来看,还是很诱人的.在冯诺依曼体系中,cpu计算和memory存储是分离的,而两者之间的data movement会造成高延迟和高耗能. 关于PIM类似的思想在50年前曾有人提 ...
- 华山论剑之 PostgreSQL sequence (二)
rename 对 sequence 的影响 关联列与 sequence 后,即 sequence 属于该列后,drop 表或列时会自动 drop 相关 sequence. 但如果对表或列 rename ...
- linux作业--第五周
1.简述osi七层模型和TCP/IP五层模型 一.OSI参考模型 (1) OSI的来源 OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO ...
- Laravel7-验证器使用
- CentOS Linux服务器安装Nginx
1.安装nginx前,我们首先要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件,可通过如图所示命令进行检测,如果以安装我们可以通过图二所示卸载 ...
- 题解 CF17E 【Palisection】
卡空间PAM,2010没有PAM,所以都是马拉车 众所周知,PAM拥有十分优秀的时间复杂度,但空间复杂度lj得不行 但这题卡空间,所以得用到邻接链表PAM 先讲思路 题目要求相交的回文子串对,这很难做 ...