SVG 中使用 JavaScript

    作者:Flyingis

    SVG(Scalable Vector Graphics)是一种基于XML的语言,用来在Web中绘制矢量图形。当前,除了Mozilla 2.0外,没有一款浏览器在本质上支持SVG,都需要插件来显示SVG图形,著名的有Adobe公司和Corel公司的SVG插件。

    一个简单的SVG

None.gif <? xml version="1.0" ?>
None.gif
<! DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
None.gif"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
>
None.gif
< svg  xmlns ="http://www.w3.org/2000/svg"  xmlns:xlink =http://www.w3.org/1999/xlink  width ="100%"  height ="100%" >
None.gif
< desc >
None.gif显示一个正方形和一个圆形
None.gif
</ desc >
None.gif
< defs >
None.gif
< rect  id ="myrect"  width ="150"  height ="150"  fill ="red"  x ="15"  y ="15"  stroke ="black" />
None.gif
< circle  id ="mycircle"  r ="75"  fill ="white"  stroke ="black"  cx ="150"  cy ="150" />
None.gif
</ defs >
None.gif
< use  xlink:href ="#myrect"   />
None.gif
< use  xlink:href ="#mycircle"   />
None.gif
</ svg >

    为了更好的理解SVG中的标签,可以和HTML标签作个简单的比较,SVG中的<svg/>和HTML中的<html/>类似,<desc/>和<title/>类似,<g/>和<div/>类似。

    在SVG中可以使用JavaScript,当需要遵循一些规则:必须使用type属性;language属性是非法的;使用特殊XML字符时可以使用CDATA(SVG和CDATA都遵循XML规范);xlink:href替换src。

None.gif <? xml version="1.0" ?>
None.gif
<! DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
None.gif"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
>
None.gif
< svg  xmlns ="http://www.w3.org/2000/svg"  xmlns:xlink =http://www.w3.org/1999/xlink  width ="100%"  height ="100%" >
None.gif
< desc >
None.gif显示一个正方形和一个圆形
None.gif
</ desc >
None.gif
<![CDATA[
None.gif  function comp(a, b) {
None.gif    if (a > b)
None.gif      alert("a is bigger than b");
None.gif    else
None.gif      alert("a is not bigger than b");
None.gif  }
None.gif
]]>
None.gif
< defs >
None.gif
< rect  id ="myrect"  width ="150"  height ="150"  fill ="red"  x ="15"  y ="15"  stroke ="black" />
None.gif
< circle  id ="mycircle"  r ="75"  fill ="white"  stroke ="black"  cx ="150"  cy ="150" />
None.gif
</ defs >
None.gif
< use  xlink:href ="#myrect"   />
None.gif
< use  xlink:href ="#mycircle"   />
None.gif
</ svg >

    在SVG中使用JavaScript可以写在如下几个位置:<desc/>标签之后;在<defs/>中;在<g/>标签之前。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值