很多时候我意识到前端已近变成写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动画框架 实现了类似于我的想法

github地址

<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 一个小巧的动画库的更多相关文章

  1. 动画库NineOldAndroids

    动画库NineOldAndroids   NineOldAndroids组件是一个向下兼容的动画库,主要是使低于API 11的系统也能够使用View的属性动画.该动画库支持旋转.移动.透明渐变.缩放等 ...

  2. 聊聊JS动画库:Velocity.js

    前言 又到了炎热的7月,很久没有更新技术文章了,原因是上月月底实习结束,从公司离职.然后最近在弄自己的项目和考驾照,为了下次公司的应聘做准备,送别了女朋友到外地,哩哩啦啦半个月把一切事情都办妥后,还是 ...

  3. AOS – 另外一个独特的页面滚动动画库(CSS3)

    AOS 是一个用于在页面滚动的时候呈现元素动画的工具库,你可能会觉得它和 WOWJS 一样,的确他们效果是类似的.但是AOS是 CSS3 动画驱动的库,当你滚动页面的时候能让元素动起来,当页面滚回顶部 ...

  4. Jwalk发布——一个比较小的Js动画库

    断断续续折腾了几个晚上终于于周日把Jwalk发布了,顺便用了下yahoo的前端框架-pure css ,很简洁,非常帅.推荐使用以下. 下面说下Jwalk是做什么的: 前端开发过程中经常会用到一些动画 ...

  5. 一个使用openGL渲染的炫丽Android动画库二(碎片化曲面动画)

    续一个使用openGL渲染的炫丽Android动画库 MagicSurfaceView v1.1.0发布, 新增碎片化曲面动画 地址:https://github.com/gplibs/android ...

  6. 第三方开源动画库EasyAnimation中一个小bug的修复

    看过iOS动画之旅的都知道,其中在最后提到一个作者写的开源动画库EasyAnimation(以下简称EA). EA对CoreAnimation中的view和layer动画做了更高层次的包装和抽象,使得 ...

  7. 使用 js 实现一个简易版的动画库

    使用 js 实现一个简易版的动画库 具有挑战性的前端面试题 animation css refs https://www.infoq.cn/article/0NUjpxGrqRX6Ss01BLLE x ...

  8. css3动画简介以及动画库animate.css的使用

    在这个年代,你要是不懂一点点css3的知识,你都不好意思说你是个美工.美你妹啊,请叫我前端工程师好不好.呃..好吧,攻城尸...呵呵,作为一个攻城尸,没有点高端大气上档次的东西怎么能行呢,那么css3 ...

  9. Snabbt.js – 极简的 JavaScript 动画库

    Snabbt.js 是一个简约的 JavaScript 动画库.它会平移,旋转,缩放,倾斜和调整你的元素.通过矩阵乘法运算,变换等可以任何你想要的方式进行组合.最终的结果通过 CSS3 变换矩阵设置. ...

随机推荐

  1. AcWing 207. 球形空间产生器

    传送门 思路: 设球心坐标为(x1,x2,...,xn),有 ,由此我们可以列出N+1个二次方程,我们可以对前后两个方程做差,来得到N个一次方程,同时可以消掉常数C,第i个方程即 那么我们就可以直接采 ...

  2. iframe和伪造ajax

    iframe和伪造ajax 1.iframe标签 <iframe>标签是一个内联框架,即用来在当前HTML页面中嵌入另一个文档的,且所有主流浏览器都支持iframe标签. 1.1基本用法 ...

  3. KETTLE使用中的错误集锦

    1.违反唯一主键约束条件:问题是表中有俩个主键,将备用主键替换成真正的主 键或者是没有对数据做出处理加这句话and cft.DEL_FLAG!='1'或者要到的库有此数据 2.field 某列 is ...

  4. RT-Thread学习2 —— 内存管理学习记录

    RT-Thread学习2 -- 内存管理学习记录1 小内存管理算法(mem.c) 1. 小内存管理法: 小内存管理算法是一个简单的内存分配算法.初始时,它是一块大的内存.当需要分配内存块时,将从这个大 ...

  5. in memory computing 存内计算是学术圈自娱自乐还是真有价值?

    如果单从初衷和预想的价值来看,还是很诱人的.在冯诺依曼体系中,cpu计算和memory存储是分离的,而两者之间的data movement会造成高延迟和高耗能. 关于PIM类似的思想在50年前曾有人提 ...

  6. 华山论剑之 PostgreSQL sequence (二)

    rename 对 sequence 的影响 关联列与 sequence 后,即 sequence 属于该列后,drop 表或列时会自动 drop 相关 sequence. 但如果对表或列 rename ...

  7. linux作业--第五周

    1.简述osi七层模型和TCP/IP五层模型 一.OSI参考模型 (1) OSI的来源 OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO ...

  8. Laravel7-验证器使用

  9. CentOS Linux服务器安装Nginx

    1.安装nginx前,我们首先要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件,可通过如图所示命令进行检测,如果以安装我们可以通过图二所示卸载 ...

  10. 题解 CF17E 【Palisection】

    卡空间PAM,2010没有PAM,所以都是马拉车 众所周知,PAM拥有十分优秀的时间复杂度,但空间复杂度lj得不行 但这题卡空间,所以得用到邻接链表PAM 先讲思路 题目要求相交的回文子串对,这很难做 ...