最近在学习前端动画方面知识时发现了挺有趣的一个动画的图形库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. Lua 学习笔记(三)表达式

    Lua中的表达式中可以包含数字常量.字面字符串.变量.一元和二元操作符及函数调用.表达式用于表示值.当然表达式中还可以包含函数定义以及table构造式.Lua中的操作符有:算术操作符.逻辑操作符.关系 ...

  2. [OpenCV] Samples 02: [ML] kmeans

    注意Mat作为kmeans的参数的含义. 扩展:高维向量的聚类. #include "opencv2/highgui.hpp" #include "opencv2/cor ...

  3. annotation-config vs component-scan – Spring Core--转

    原文地址:http://techidiocy.com/annotation-config-vs-component-scan-spring-core/ <context:annotation-c ...

  4. 功能更新到 Windows 10 企业版, 版本 1607

    功能更新到 Windows 10 企业版, 版本 1607

  5. LeetCode - Populating Next Right Pointers in Each Node

    题目: Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode ...

  6. Winform开发框架之读卡器和条码扫描枪的数据接收处理

    在我们开发一些项目的时候,一般需要一些外围的设备进行数据处理,如ID/IC读卡器获取卡号.激光条码扫描枪.USB摄像头.USB方式的小票据打印机(POS打印机).USB来电录音盒.普通打印机等一系列附 ...

  7. JS通过身份证号码获取出生年月日

    这里我们讲述一下关于jq根据身份证号码计算出生日期.年龄.性别,有需要的同学可参考一下.    代码如下 复制代码 //获取输入身份证号码 var UUserCard = $("#UUser ...

  8. javascript(js)小数精度丢失的解决方案

    原因:js按照2进制来处理小数的加减乘除,在arg1的基础上 将arg2的精度进行扩展或逆扩展匹配,所以会出现如下情况. javascript(js)的小数点加减乘除问题,是一个js的bug如0.3* ...

  9. HTML 5 Web 存储

    HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储sessionStorage - 针对一个 session 的数据存储 html5 web sto ...

  10. javaweb项目springmvc,和tomcat对静态文件的处理

    1.激活Tomcat的defaultServlet来处理静态文件,web.xml配置 <servlet-mapping> <servlet-name>default</s ...