最近在学习前端动画方面知识时发现了挺有趣的一个动画的图形库mo.js,页面效果真是酷炫,有兴趣的同学可以研究下:)。

酷炫的效果:

以下是官方的demo效果,更多详情请查看 mo.js

http://codepen.io/sol0mka/full/ogOYJj/

http://codepen.io/sol0mka/full/yNOage/

http://codepen.io/sol0mka/full/OyzBXR

一个简单例子

现在我们使用mo.js来实现一个简单的效果

HTML结构

    <div class="demo">一个简单例子</div>

CSS

    body{
text-align: center;
padding: 300px;
}
.demo{
width: 100px;
height: 100px;
position:relative;
margin: 0 auto;
background: #ddd;
}

JavaScript

    // 首先引入mo.js文件
<script src="js/mo.min.js"></script>
    // 效果实现相关代码
<script>
var molinkEl = document.querySelector('.demo'),
moTimeline = new mojs.Timeline(),
moburst1 = new mojs.Burst({
parent: molinkEl,
duration: 1300,
shape : 'circle',
fill : [ '#988ADE', '#DE8AA0', '#8AAEDE', '#8ADEAD', '#DEC58A', '#8AD1DE' ],
x: '0%',
y: '-50%',
radius: {0:60},
count: 6,
isRunLess: true,
easing: mojs.easing.bezier(0.1, 1, 0.3, 1)
}),
moburst2 = new mojs.Burst({
parent: molinkEl,
duration: 1600,
delay: 100,
shape : 'circle',
fill : [ '#988ADE', '#DE8AA0', '#8AAEDE', '#8ADEAD', '#DEC58A', '#8AD1DE' ],
x: '-400%',
y: '-420%',
radius: {0:120},
count: 14,
isRunLess: true,
easing: mojs.easing.bezier(0.1, 1, 0.3, 1)
}),
moburst3 = new mojs.Burst({
parent: molinkEl,
duration: 1500,
delay: 200,
shape : 'circle',
fill : [ '#988ADE', '#DE8AA0', '#8AAEDE', '#8ADEAD', '#DEC58A', '#8AD1DE' ],
x: '130%',
y: '-70%',
radius: {0:90},
count: 8,
isRunLess: true,
easing: mojs.easing.bezier(0.1, 1, 0.3, 1)
}),
moburst4 = new mojs.Burst({
parent: molinkEl,
duration: 2000,
delay: 300,
shape : 'circle',
fill : [ '#988ADE', '#DE8AA0', '#8AAEDE', '#8ADEAD', '#DEC58A', '#8AD1DE' ],
x: '-20%',
y: '-150%',
radius: {0:60},
count: 14,
isRunLess: true,
easing: mojs.easing.bezier(0.1, 1, 0.3, 1)
}),
moburst5 = new mojs.Burst({
parent: molinkEl,
duration: 1400,
delay: 400,
shape : 'circle',
fill : [ '#988ADE', '#DE8AA0', '#8AAEDE', '#8ADEAD', '#DEC58A', '#8AD1DE' ],
x: '30%',
y: '-100%',
radius: {0:60},
count: 12,
isRunLess: true,
easing: mojs.easing.bezier(0.1, 1, 0.3, 1)
}); moTimeline.add(moburst1, moburst2, moburst3, moburst4, moburst5);
molinkEl.addEventListener('mouseenter', function() {
moTimeline.start();
});
</script>

实现效果

查看DEMO

更多阅读

强大的JavaScript动画图形库mo.js的更多相关文章

  1. javascript动画:velocity.js学习

    第二章:基础知识 一.velocity和jQuery: Velocity函数是独立于jQuery的,但两者可以结合使用.通常这么做的好处是可以利用jQuery的链式操作:当你先用jQuery选择了一个 ...

  2. 10 个顶级 JavaScript 动画框架推荐

    使用JavaScript可以做出一些引人注目的动画效果,但通常不太容易实现.本文为你整理了10个非常优秀的JavaScript动画框架,使用它们你可以轻松实现动画效果.1. RaphaëlRaphaë ...

  3. JavaScript动画

    早期的JS动画 早期的JS循环动画主要是通过setInterval/setTimeout实现的 function jump() { console.log("我跳了一下"); } ...

  4. 梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画

    CSS动画并不是绝对比JavaScript动画性能更优越,开源动画库Velocity.js等就展现了强劲的性能. 一.两者的主要区别 先开门见山的说说两者之间的区别. 1)CSS动画: 基于CSS的动 ...

  5. JavaScript动画知多少?

    今天,小学生以自己浅薄的见地,在前辈大能的基础上写这篇文章,希望给大家打开一扇窥探JavaScript(以下简称JS)动画的窗户. JS如何制造出动画效果? 结合浏览器提供的 setInterval ...

  6. 初探JavaScript(三)——JS带我"碰壁"带我飞

    已经写了两篇关于小白的JavaScript之行,不可否认,每一种语言都有其精华与糟粕之处,来不及细细体味其精华奥妙,也没法对其评头论足,只能先了解,后深入.到目前为止已经看完<JavaScrip ...

  7. Javascript动画效果(三)

    Javascript动画效果(三) 前面我们已经介绍了速度动画.透明度动画.多物体运动和任意值变化,并且我们在Javascript动画效果(二)中介绍到我们封装了一个简单的插件雏形,接下来我们对前面的 ...

  8. Javascript动画效果(四)

    Javascript动画效果(四) 前面我们自己写了一个小小的关于js动画的插件,下面我们来使用之前的框架来完成我们想要的动画效果.我们经常在淘宝网中看到,鼠标经过某一图片时,该图片有从上滚出而又从下 ...

  9. Javascript模板引擎mustache.js详解

    mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深 ...

随机推荐

  1. 邻接矩阵有向图(二)之 C++详解

    本章是通过C++实现邻接矩阵有向图. 目录 1. 邻接矩阵有向图的介绍 2. 邻接矩阵有向图的代码说明 3. 邻接矩阵有向图的完整源码 转载请注明出处:http://www.cnblogs.com/s ...

  2. Java多线程系列--“JUC集合”07之 ArrayBlockingQueue

    概要 本章对Java.util.concurrent包中的ArrayBlockingQueue类进行详细的介绍.内容包括:ArrayBlockingQueue介绍ArrayBlockingQueue原 ...

  3. Unity3d知识体系思维导图

    整理了一下U3D的技能树.

  4. 为什么需要Bundler

    对于从Node.js转Ruby的人很可能会有和我一样的疑惑,为什么要有Bundler这个东西?Rubygems不够吗? 从Node.js到Ruby的包管理器 在Node的世界里,依赖管理是由npm来完 ...

  5. Crumpet – 使用很简单的响应式前端开发框架

    Crumpet 是一个简单的响应式的基于 SASS/SCSS 的响应式前端框架,保持你的 HTML 代码简洁.内置尽量使用占位符选择器,以减少你的 HTML 标记的大小,没有凌乱的 HTML 代码.快 ...

  6. Halcon与opencv格式的转换

    IplImage* ImageProcess::HImageToIplImage(Hobject &Hobj) { IplImage* pImage; HTuple htChannels; c ...

  7. WCF服务创建与使用(请求应答模式)

    不说废话,直接上代码.以下服务创建是在独立的WCF类库中,若采用WCF应程程序,定义及创建服务代码均相同,但文件名不同,是CalculatorService.svc 第一步,定义服务契约(Servic ...

  8. MVC之前的那点事儿系列(6):动态注册HttpModule

    文章内容 通过前面的章节,我们知道HttpApplication在初始化的时候会初始化所有配置文件里注册的HttpModules,那么有一个疑问,能否初始化之前动态加载HttpModule,而不是只从 ...

  9. 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 '#TT' 中的标识列插入显式值。 sql server 临时表

    当 IDENTITY_INSERT 设置为 OFF 时,不能向表 '#TT' 中的标识列插入显式值.我是在SqlServer写存储过程中遇到的这个错误,当时就心想:临时表怎么会有主键呢,我也没有设置主 ...

  10. has no parameters and arguments were supplied

    这个问题,让Insus.NET花上不少时间与心机. 在项目中,Insus.NET是使用这个逻辑组件: <程序与数据库之间的连接桥梁和逻辑处理>http://www.cnblogs.com/ ...