博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SVG.js 笔记 (一)
阅读量:4637 次
发布时间:2019-06-09

本文共 1226 字,大约阅读时间需要 4 分钟。

SVG.js 是一款轻量级的SVG类库,并且不依赖任何第三方类库。

然后是一堆废话,讲框架是如何接近SVG规范,并且保持轻量级。接着就是展示一些SVG.js特点,为了让你相信并使用他。

代码精简

通过和竞品比较,证明SVG.js是如何轻量级的。SVG.js用接近一半的代码量实现同样的功能。

比竞品渲染速度快,但不像vanilla.js那样快

可读性高,整洁的语法

用原生JS创建和操作SVG比较繁琐,只创建一个矩形就需要很多代码。但使用SVG.js创建相同的矩形,代码可读性好。

动画

安装方法:

bower, npm,cdn,源代码下载都可以。压缩过的svg.js代码有65KB左右,已经算比较小了。用gzip压缩后大小16KB左右

起步:

简单,创建一个HTML文件,声明一个具有id属性的的元素,作为svg.js的挂载点。

  SVG.js  

2、创建SVG DOM对象,使用SVG构造函数,函数的第一个参数可以是元素的id,或者DOM元素对象

var draw = SVG('drawing').size(300, 300) // SVG('drawing') or SVG(document.getElementsByClassName('drawing-panel')[0])var rect = draw.rect(100, 100).attr({ fill: '#f06' })

页面产生的效果

默认情况下,SVG.js 生成的svg大小跟随父级元素的大小,就是id="drawing"的div的高度和宽度

var draw = SVG('drawing').size('100%', '100%')

检查浏览器是否支持SVG:一般浏览器是都支持svg的,但是SVG.js 用了某些低版本浏览器不支持的属性方法,所有必要的时候还是要监测浏览器是否支持

if (SVG.supported) {  var draw = SVG('drawing')  var rect = draw.rect(100, 100)} else {  alert('SVG not supported')}

等待DOM加载完毕:一般不需要,大家都习惯把脚本文件放在body后面,但如果把脚本放到head里,就需要这一步了。

SVG.on(document, 'DOMContentLoaded', function() {  var draw = SVG('drawing')})

SVG.js 只提供了基础的绘图方法,至于工程上的拖拽,可视化绘制等等都需要自己手动添加。好在SVG.js有良好的社区,还有其他一些,大多数的功能都可以通过插件或自行开发完成。

转载于:https://www.cnblogs.com/zhang-jian/p/8892509.html

你可能感兴趣的文章
Java基础学习-流程控制语句
查看>>
Shell中read的常用方式
查看>>
01javascript数据类型
查看>>
asp.net实现md5加密方法详解
查看>>
AJAX
查看>>
table 的thead th 固定 tbody滚动例子
查看>>
并行计算思考----回溯法求解数独问题
查看>>
设计模式:模板模式
查看>>
和菜鸟一起学OK6410之ADC模块
查看>>
代理 模式
查看>>
[git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)
查看>>
DOM Core和HTML DOM的区别
查看>>
SurfaceView+MediaPlay的bug们
查看>>
网络表示学习总结
查看>>
完成评论功能
查看>>
far和near
查看>>
Python爬虫实战四之抓取淘宝MM照片
查看>>
2015 Multi-University Training Contest 1
查看>>
C#判断一个字符串是否是数字或者含有某个数字
查看>>
SVN使用指南
查看>>