以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 SVG/GML/VRML/X3D/XAML 』 (http://bbs.xml.org.cn/list.asp?boardid=21) ---- 造福大众!javascript完全控制svg的代码。 (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=12092) |
-- 作者:rocmike -- 发布时间:11/15/2004 9:19:00 PM -- 造福大众!javascript完全控制svg的代码。 里面包含创建svg图形,修改svg图形,删除svg图形的全部代码,提供给大家参考参考,如果大家有更好的代码,请修改后,记得与我分享一下。 :) |
-- 作者:rocmike -- 发布时间:11/15/2004 9:22:00 PM -- 为不方便下载的同志,提代出源代码。如下: test.html <html> function init(event) var arrmyv1 = new Array('100','40','270','90','180','340'); <style type="text/css"> </head> |
-- 作者:rocmike -- 发布时间:11/15/2004 9:23:00 PM -- littleimg.svg <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> ]]> |
-- 作者:rocmike -- 发布时间:11/15/2004 9:24:00 PM -- showsvg.js var arrColors = ['red','green','blue','yellow','navy','gold','dodgerblue','navajowhite','mediumpurple']; //数组排序函数,升序 //删除数组中的一个元素,参数dx表示该元素的index //重新排列数组,去掉为空的值或者非正常的值 function getMaxValue(tmparr) { //显示提示窗口 ttrelem=svgDoc.getElementById("ttr"); posx=mousemove_event.clientX; curtrans=svgDoc.documentElement.currentTranslate; ttrelem.setAttribute("x",posx-ctx); ttrelem=svgDoc.getElementById("ttr"); curzoom=svgDoc.documentElement.currentScale; //画折线图,第一个参数是数值数组, //画柱状图,第一个参数是数值数组, for(var i=0;i<t;i++) { //画饼图,第一个参数是数值数组,第二个参数是年份数组 var pieNode = null; for(var v=0; v<vertexCount; v++) currentX = basePointX+offsetX2; // the vertical offset must be subtracted, pointPath = "M"+basePointX+","+basePointY; fillColor = "fill:" + arrColors[v%colorCount]; txtGnode = tmparr2[v] + "," + tmparr1[v] + "," + txtpv; pieNode = svgDoc.createElement("path"); angleSum1 += angles[v]; //设定x轴坐标,画线及添加标题,参数是年份数组 //设定y轴坐标,画线及添加标题,第一个参数是最小值,第二个参数是最大值 tmpdiv = (tmpmaxv - tmpminv) / 5; var divtxt = (tmpmaxv - tmpminv) / 5; //设定公司的名称 //设定图象的标题,涉及到下拉框和标题栏的同时变动 //点击动态改变图象的函数,第一个参数是数值数组,第二个参数是年份数组 function opennewwin() { |
-- 作者:rocmike -- 发布时间:11/15/2004 9:25:00 PM -- bigimg.html <html> function init(event) if(arrUseValue.length > 0) { } <style type="text/css"> </head> |
-- 作者:rocmike -- 发布时间:11/15/2004 9:26:00 PM -- largeimg.svg <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> ]]> |
-- 作者:rocmike -- 发布时间:11/15/2004 9:27:00 PM -- showbigsvg.js var arrColors = ['red','green','blue','yellow','navy','gold','dodgerblue','navajowhite','mediumpurple']; //数组排序函数,升序 //删除数组中的一个元素,参数dx表示该元素的index //重新排列数组,去掉为空的值或者非正常的值 function getMaxValue(tmparr) { //显示提示窗口 ttrelem=svgDoc.getElementById("ttr"); posx=mousemove_event.clientX; curtrans=svgDoc.documentElement.currentTranslate; ttrelem.setAttribute("x",posx-ctx); ttrelem=svgDoc.getElementById("ttr"); curzoom=svgDoc.documentElement.currentScale; //画折线图,第一个参数是数值数组, //画柱状图,第一个参数是数值数组, for(var i=0;i<t;i++) { //画饼图,第一个参数是数值数组,第二个参数是年份数组 var pieNode = null; for(var v=0; v<vertexCount; v++) currentX = basePointX+offsetX2; // the vertical offset must be subtracted, pointPath = "M"+basePointX+","+basePointY; fillColor = "fill:" + arrColors[v%colorCount]; txtGnode = tmparr2[v] + "," + tmparr1[v] + "," + txtpv; pieNode = svgDoc.createElement("path"); angleSum1 += angles[v]; //设定x轴坐标,画线及添加标题,参数是年份数组 //设定y轴坐标,画线及添加标题,第一个参数是最小值,第二个参数是最大值 tmpdiv = (tmpmaxv - tmpminv) / 10; var divtxt = (tmpmaxv - tmpminv) / 10; //设定公司的名称 //设定图象的标题,涉及到下拉框和标题栏的同时变动 //点击动态改变图象的函数,第一个参数是数值数组,第二个参数是年份数组 function opennewwin() { |
-- 作者:rocmike -- 发布时间:11/15/2004 9:31:00 PM -- 因为我才接触svg三天时间,很多东西都还没熟悉,这些代码还是很粗糙的。 欢迎大家指正。 |
-- 作者:卷积内核 -- 发布时间:11/16/2004 10:38:00 AM -- 谢谢分享!努力哦 |
-- 作者:rocmike -- 发布时间:11/16/2004 3:55:00 PM -- 代码还在修改中。呵呵 谢谢支持! |
-- 作者:tnfs2008bj -- 发布时间:11/18/2004 10:01:00 AM -- 多谢分享:) 可是打开时网页有错误 希望能够指点 |
-- 作者:rocmike -- 发布时间:11/22/2004 2:28:00 PM -- 注意一下那两个js文件的存放位置就知道为什么错了. |
-- 作者:SCYANGYU -- 发布时间:2/18/2005 2:41:00 PM -- 谢谢分享! 好好学习! |
-- 作者:难为水 -- 发布时间:4/25/2005 9:28:00 PM -- 才三天就写出那么多东西了 天才阿 努力,用好你的天分 |
-- 作者:keeponline -- 发布时间:4/26/2005 9:03:00 AM -- 哇,高手,三天把我的几个月的活都干完了,牛 |
-- 作者:keeponline -- 发布时间:4/26/2005 9:04:00 AM -- 可是,想问一下,为啥我下不了呢? |
-- 作者:一直在漂 -- 发布时间:4/26/2005 2:24:00 PM -- 真不错!这两天也正在搞这些图形,才搞出来:(。早几天看到这帖子,就不用自己费劲折腾了,直接都好用的! |
-- 作者:难为水 -- 发布时间:4/26/2005 7:53:00 PM -- 为什么我现实不出来啊? 图片的文件路径我改好了 |
-- 作者:flypig1983 -- 发布时间:5/7/2005 9:09:00 AM -- 谢谢分享! |
-- 作者:tantj -- 发布时间:5/16/2005 10:58:00 AM -- thx |
-- 作者:weiyi -- 发布时间:5/27/2005 9:15:00 AM -- 那几个文件怎么运行啊?饼图,曲线图,拄状图怎么看不见?请帮助我好吗?我的qq号是:54844260,我会一直在的(隐身) |
-- 作者:naijgnaw -- 发布时间:5/31/2005 6:07:00 PM -- 解压之后,要建立个叫做“js”的文件夹,然后将“showbigsvg.js”和“showsvg.js”两个文件放入,再运行“test.html”即可 |
-- 作者:naijgnaw -- 发布时间:5/31/2005 6:10:00 PM -- “clear all”的方法没实现啊,另外“refresh”时"mynewwin.location.reload();"这句会出错。希望作者或哪位高人加以指点,谢谢 |
-- 作者:xp_lion -- 发布时间:6/2/2005 2:10:00 PM -- 谢谢分享啊,多提供一点代码 |
-- 作者:clinghengsu -- 发布时间:6/9/2005 3:17:00 PM -- 呵呵,多谢了~~~ |
-- 作者:老猫 -- 发布时间:7/15/2005 4:44:00 PM -- 多谢! |
-- 作者:zhouzb2001 -- 发布时间:7/15/2005 8:48:00 PM -- 不错,值得探讨 1 refreshopenwin()函数可以去掉最后 mynewwin.location.reload(); refresh open window就没问题了 2 将clear all事件return myremove(); 改成 deleItem(); clear all也可以运行了。
[此贴子已经被作者于2005-7-15 21:40:10编辑过]
|
-- 作者:qtsh -- 发布时间:8/13/2005 10:37:00 AM -- 不错不错,谢谢谢谢 |
-- 作者:summerain -- 发布时间:1/13/2006 10:57:00 AM -- 我正在学习怎么用javascript编写svg文件工具,楼主这篇文章很有帮助,谢谢! |
-- 作者:drach -- 发布时间:1/13/2006 5:58:00 PM -- 谢谢,楼主真是人才 如果每段都添加说明就更完美了 |
-- 作者:drach -- 发布时间:1/13/2006 6:11:00 PM -- 请问楼主,为什么batik打不开你的svg文档啊,显示如下 line |
-- 作者:godcat -- 发布时间:1/13/2006 6:27:00 PM -- ![]()
|
-- 作者:行云流水 -- 发布时间:1/17/2006 10:37:00 AM -- 不错,顶一个 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
312.500ms |