jQuery技术

jQuery插件之jquery.svg.js:如何动态设置或者渐变设置SVG元素

字号+ 作者:H5之家 来源:H5之家 2015-11-16 15:02 我要评论( )

今天有一个群友在问一个jQuery.animate()针对svg元素失效的问题,我自己验证了一遍的确是无效。后来通过多方查阅相关资料得知jQuery.animate()方法默认情况下是

作者:highcharts | 时间:2014-7-22 18:12:13 | [  ] | 来源:jQuery插件 | 

阅读

阅读:16360 | 

评论

  : 0 |  收藏 jQuery,插件,svg,svgdom,svganim,动态,元素,属性,渐变,animate   [摘要]: 今天有一个群友在问一个jQuery.animate()针对svg元素失效的问题,我自己验证了一遍的确是无效。后来通过多方查阅相关资料得知jQuery.animate()方法默认情况下是针对html元素的而非svg元素。如果要对其svg元素起作用,我们需要引入jQuery针对svg编写的一款插件。 参考资料: 1、 2、 我们需要这样做: 1、下载jquery.svg.js插件 下载地址:https://github.co...

今天有一个群友在问一个jQuery.animate()针对svg元素失效的问题,我自己验证了一遍的确是无效。后来通过多方查阅相关资料得知jQuery.animate()方法默认情况下是针对html元素的而非svg元素。如果要对其svg元素起作用,我们需要引入jQuery针对svg编写的一款插件。

参考资料:

1、

2、


我们需要这样做:

1、下载jquery.svg.js插件

下载地址:https://github.com/kbwood/svg

2、创建一个html测试页面

html页面内的内容为:


<svg> <rect x="200" y="200"> </rect> </svg> <div> <svg x="0px" y="0px" viewbox="0 0 100 100" preserveaspectratio="none"> <circle fill-rule="evenodd" clip-rule="evenodd" fill="#FFC600" cx="50" cy="50" r="10"/> </svg> </div> <input type="button" value="动态变更颜色" />


这里我们简单滴设置几个svg元素。

3、解压下载的插件包将其相关的js文件引入这个html页面内


<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.2.js"></script> <script type="text/javascript" src="js/jquery.svg.js"></script> <script type="text/javascript" src="js/jquery.svgdom.js"></script> <script type="text/javascript" src="js/jquery.svganim.js"></script>


4、编写相关的按钮方法


function ChangeColor() { $("#rect").animate({ svgWidth: 500,svgStroke:"red",svgFill:"black" }, 1000); $('#circle').animate({ svgR: 50 }, 1000); }


跑起页面点击按钮即可看到svg元素渐变产生效果。

效果图如下所示:

引入jquery.svg.js插件尚未点击按钮前的效果

图1:引入jquery.svg.js插件尚未点击按钮前的效果

点击按钮后的效果

图2:点击按钮后的效果


总结:

1、针对svg元素的动态属性或者样式变更,均需要在属性名称前加上svg标示符方可。

jQuery,插件,svg,svgdom,svganim,动态,元素,属性,渐变,animate    本文为原创型文章转载请尊重他人劳动成果并注明出处:?927  可以扫描本站该博客文章的QR二维码进行访问  

本站该博客文章的QR二维码

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评
/