制作svg动画

要实现一步一步画出来一个图片,css3做不到吧。除非一张张的图片定时显示。想不到别的招了。如今用的是一个插件,做了一个svg动画。

插件地址:http://lazylinepainter.info/

先用AI做好路径,保存为svg格式的文件。

使用插件。先引入须要的文件:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

<script>window.jQuery || document.write(‘<script src="jquery-1.9.1.min.js"><\/script>‘)</script>

<script src="jquery.lazylinepainter-1.5.1.js"></script>

demo例如以下:

<!DOCTYPE html>

<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->

<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->

<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->

<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<title>Lazy Line Painter</title>

<meta name="description" content="A Jquery plugin for SVG path animation">

<link rel="icon" type="image/x-icon" href="/favicon.ico" />

<style>

body {

background:#fffafa;

cursor: pointer;

}

#demo {

width:400px;

height:400px;

position:absolute;

left:50%;

margin:80px 0 0 -175px;

}

</style>

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

<script>window.jQuery || document.write(‘<script src="jquery-1.9.1.min.js"><\/script>‘)</script>

<script src="jquery.lazylinepainter-1.5.1.js"></script>

<script type="text/javascript">

(function( $ ){

/*

* Lazy Line Painter

* SVG Stroke animation.

*

* https://github.com/camoconnell/lazy-line-painter

*

* Copyright 2014

* Cam O‘Connell - http://www.camoconnell.com  http://www.behance.net/camoconnell

* Released under the MIT license

*

*/

// goto http://lazylinepainter.info to convert your svg into a svgData object.

var svgData = {

"demo" :

{

"strokepath" :

[

{   "path": "M359,201.8c0.4-27.7,1.6-57.5-10-76c-6.5-8.9-37.8-6.5-53-6c-9.3,2.4-18.7,4.7-28,7c-24.6,10.2-48.3,36.4-54,65c-0.7,0.3-1.3,0.7-2,1c-25.1-34.9-60.6-60.1-122-59c-21.7,22.6-14.7,81.1-2,107c24.9,51,71.3,83.3,102,129c13.1,19.5,29.2,43.3,18,76c0,1,0,2,0,3c17.5-2.899,59.3-48.7,66-64c40.8,0.4,65.2-6.7,74-47c18.6,13.5,59.6,35.9,81,7C466.1,294.8,422.8,190.6,359,201.8z",

"duration": 1500,

"fill": ‘#231815‘,

"strokeWidth": 8

},{

"path": "M356,222.8c34.6-0.2,37.5,46.3,15,61c-15.8,0.4-24.9-6.899-29-18c28.6,10.101,37.6-26.1,11-39c-0.7,0-1.3,0-2,0C352.7,225.5,354.3,224.1,356,222.8z",

"fill": ‘#231815‘,

"duration":300

},

{   "path": "M351,241.8c-0.7,3-1.3,6-2,9c-14.9,10-8.3-11.5-5-18c1,0.4,2,0.7,3,1C348.3,236.5,349.7,239.1,351,241.8z",

"fill": ‘#231815‘,

"duration":300

},

{   "path": "M230,419.8c-0.7,0.3-1.3,0.7-2,1c-8.4-45.5-73.8-123.1-101-157c-15.4-19.2-35.3-31.4-42-60c-5.2-22.3,5-40,10-55c8.6-3.3,25.4,4.2,35,7c41.7,12.2,72,22.6,87,60c30.9-2.8,24.1-42.1,37-63c9-14.6,24.4-13.5,41-21c38.9-0.5,55.5,6.9,49,48c-1,11.3-2,22.7-3,34c-4.5,12.4-14.9,18.6-17,37c-14.1-10.7-31.9-30.2-59-24c-26.5,6-46.5,47.7-82,19c-1.3,0-2.7,0-4,0c-1,2.7-2,5.3-3,8c12.6,14.3,23.2,19.9,50,18c-0.3,4.7-0.7,9.3-1,14c-12.7,9.101-27.3,15.7-45,7c-1.3,1-2.7,2-4,3c0.3,2,0.7,4,1,6c8.9,19.4,38,12.601,51,3c2.8,34,21.6,50.3,34,73C251.3,391.8,240.7,405.8,230,419.8z",

"fill": ‘#231815‘,

"duration":300

},

{   "path": "M258,294.8c19.7-8.2,10.5-38.3-12-38c2.3-2.7,4.7-5.3,7-8c28-1.3,43.5,27.9,31,53c-10.5,21.2-43.9,18.3-47-8C243.4,297.1,251.1,299.2,258,294.8z",

"fill": ‘#231815‘,

"duration":500

}

,{   "path": "M241,265.8c2,1,4,2,6,3c2.6,7.101,2,12.101-5,15c-1.7,0.3-3.3,0.7-5,1C236.8,277.2,237.5,269.9,241,265.8z",

"fill": ‘#231815‘,

"duration":500

}

,{   "path": "M326,355.8c-33.7,45.2-72.9-3.899-84-35c31.6,18,69.2-13.8,53-55c-4.7-11.899-13.5-17-22-25c44.9,0.4,43.3,27.7,55,61C334.8,321.1,339.8,337.3,326,355.8z",

"fill": ‘#231815‘,

"duration":500

},

{   "path": "M413,338.8c-38.9,28.4-79.5-32.3-79-67c0.3,0,0.7,0,1,0c5.4,17.2,29.6,31.8,48,18c25.2-19,7-60.8-9-74C419.3,216.3,451.8,310.5,413,338.8z",

"fill": ‘#231815‘,

"duration":500

}

],

"dimensions" : { "width": 600, "height":800 }

}

}

$(document).ready(function(){

// Setup your Lazy Line element.

// see README file for more settings

$(‘#demo‘).lazylinepainter({

‘svgData‘ : svgData,

‘strokeWidth‘:7,

‘fill‘:‘#dc908e‘,

‘onComplete‘ : function(){

var a=$("#demo path");

a.attr("fill","#0d4ff7");

a.removeAttr("stroke");

a.removeAttr("fill-opacity");

a.removeAttr("stroke-opacity");

a.removeAttr("stroke-width");

a.removeAttr("stroke-linecap");

a.removeAttr("stroke-linejoin");

a.removeAttr("style");

var b=$("#demo path").first();

b.attr("fill","#231815");

b.removeAttr("stroke");

b.removeAttr("fill-opacity");

b.removeAttr("stroke-opacity");

b.removeAttr("stroke-width");

b.removeAttr("stroke-linecap");

b.removeAttr("stroke-linejoin");

b.removeAttr("style");

}

}

)

// Paint your Lazy Line, that easy!

var state = ‘paint‘;

$(‘#demo‘).lazylinepainter(state);

})

})( jQuery );

</script>

</head>

<body>

<div id=‘demo‘></div>

</body>

</html>

效果例如以下:

时间: 2024-10-13 05:35:56

制作svg动画的相关文章

html5轻量级操纵和制作SVG动画的js库-svg.js

svg.js是一个轻量级的操纵和制作SVG动画的js插件库.svg.js可以生成SVG图形.图像.文字和路径等等.svg.js还可以用于制作svg动画和互动拖拽等效果. svg.js不依赖与jQuery等外部插件库,它遵循麻省理工学院的许可( MIT License)下许可证的条款. 在线演示:http://www.htmleaf.com/Demo/201501301302.html 下载地址:http://www.htmleaf.com/html5/SVG/201501301301.html

推荐15款制作 SVG 动画的 JavaScript 库

在当今时代,SVG是最流行的和正在被众多的设计人员和开发人员使用,创建支持视网膜和响应式的网页设计.绘制SVG不是一个艰巨的任务,因为大量的 JavaScript 库可与 SVG 图像搭配使用.这些JS库帮助设计师和开发人员可以轻松地为他们的项目和Web应用程序创建创新和逼真的图形. 1.Textures.js Textures.js易于改进的数据可视化添加SVG图形.它包括一个巨大的各种纹理,包括直线,圆,路径,甚至自定义模式. 在线预览 2.Circulus.svg Circulus.svg

用svg制作loading动画

首先说明:由于各浏览器对svg动画事件支持不统一,此loading动画在Firefox,Opera,Chrome中均没有问题,IE和Safari中有问题,可能是不支持SIML写动画的语法, 但是用Canvas写的话,在颜色的渐变方面会有问题: 线性渐变需要传递四个参数 xstart:渐变开始点x坐标       ystart:渐变开始点y坐标       xEnd:渐变结束点x坐标       yEnd:渐变结束点y坐标 这样画出来的渐变只能用于矩形之类的图形,无法应用在诸如扇形内,此loadi

Walkway.js – 用线条制作简约的 SVG 动画

Walkway.js 是一个使用线条和路径元素组成 SVG 动画图像的简单方法.只需根据提供的配置对象创建一个新的 Walkway 实例就可以了.这种效果特别适合那些崇尚简约设计风格的网页.目前, Walkway.js 仅适用于路径和线条元素. 效果演示     插件下载 如何使用: 根据提供的配置选项创建一个 Walkway 示例,如果想要开始动画效果,调用 draw 方法即可. // Create a new instance var svg = new Walkway(options);

10 个非常有用的 SVG 动画的 JavaScript 库

SVG 通常可以用作跨分辨率视频.这意味着在一块高分屏幕上不会降低图片的锐度.此外,你甚至可以让SVG动起来,通过使用一些javascript类库.下面,我们分享一些javascript类库,这些类库会帮助我们将SVG动画提高一个等级. Vivus Vivus 是一个能动画js类库,它能够给SVG图像显示出被画出来的过程.Vivus是没有其他类库依赖的(比如jQuery).你仅仅需要在页面中加入这个.js文件,然后传入需要被用来动画的SVG部分就行.同时通过指定一些配置,它能够在页面加载后直接显

10 个非常实用的 SVG 动画操作JavaScript 库

10 个非常实用的 SVG 动画操作JavaScript 库 SVG 通常可以用作跨分辨率视频.这意味着在一块高分屏幕上不会降低图片的锐度.此外,你甚至可以让SVG动起来,通过使用一些javascript类库.下面,我们分享一些javascript类库,这些类库会帮助我们将SVG动画提高一个等级. Vivus Vivus 是一个能动画js类库,它能够给SVG图像显示出被画出来的过程.Vivus是没有其他类库依赖的(比如jQuery).你仅仅需要在页面中加入这个.js文件,然后传入需要被用来动画的

Android实现炫酷SVG动画效果

svg是目前十分流行的图像文件格式了,svg严格来说应该是一种开放标准的矢量图形语言,使用svg格式我们可以直接用代码来描绘图像,可以用任何文字处理工具打开svg图像,通过改变部分代码来使图像具有交互功能,并可以随时插入到HTML中通过浏览器(如火狐浏览器)来观看.使用svg格式可让你设计激动人心的.高分辨率的Web图形页面. svg格式具备目前网络流行的jpg和png等格式无法具备的优势:可以任意放大图形显示,但绝不会以牺牲图像质量为代价;可在svg图像中保留可编辑和可搜寻的状态;平均来讲,s

CSS3+Jquery制作的动画效果电子表

<!DOCTYPE HTML> <html> <head> <title>CSS3+Jquery制作的动画效果电子表丨石家庄网络公司-河北品牌策划公司</title> <style type="text/css"> body{ background:#202020; font:bold 12px Arial, Helvetica, sans-serif; margin:0; padding:0; min-width

PPT制作线条动画

0.小叙闲言 今天在用PPT做动画的时候小有心得,百度了一下线条动画制作,有一个贴子里面的讨论,也给了我一些灵感,贴子地址:http://www.rapidbbs.cn/thread-24577-1-1.html.但是还是没有做下图这样的效果的动画,这是自己纯想出来的,分享一下,或许对大家有点帮助.文章中的PPT下载地址:http://files.cnblogs.com/files/endlesscoding/PPT_Line_Animations.zip 1.PPT简单线条动画 平时做线条动画