Javascript 移动到没有 JS 库的 SVG 路径
Javascript to Move SVG path without JS library
我想在SVG画布上拖动路径。要求是不使用任何JS库。任何例子都会对我有所帮助。
我知道拉斐尔.js这很容易。
谢谢。
下面是纯 JS 中的一个示例:
<svg id='mysvg' height="800" width="800">
<path id='mypath' fill="#4444ff" stroke="#000000" d="M100,300L400,300L100,0Z" transform=""></path>
</svg>
.JS:
el=document.getElementById("mypath");
sv=document.getElementById("mysvg");
flag=false; //to check if the mouse is currently down?
sv.onmousedown=function(e){
flag=true;
x1=e.clientX;
y1=e.clientY;
var t=el.getAttribute('transform');
if(t){
var parts = /translate'('s*([^'s,)]+)[ ,]([^'s,)]+)/.exec(t);
var firstX = parts[1], firstY = parts[2];
x1=x1-firstX*1;
y1=y1-firstY*1;
}
/* x1 and y1 now contain the previous position*/
};
sv.onmousemove=function(e){
if(flag){
x=e.clientX;
y=e.clientY;
t="translate("+(x-x1)+","+(y-y1)+")"
el.setAttribute('transform',t);
}
};
sv.onmouseup=function(){flag=false};
小提琴:http://jsfiddle.net/gF8Wd/2/
相关文章:
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 与其他库的jQuery.noConflict()
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- D3.js生成有效的SVG,但不显示任何内容
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- 将用户制作的SVG(raphael.js)发送到服务器(php),以便通过电子邮件发送
- 保存嵌入对象中的svg
- googlemarkercluster.js库的备用源路径是什么
- 无法将包含文本和图像的SVG保存到画布
- 使用Snap.SVG设置关于端点的SVG行的动画
- 我的svg矩形移动
- javascript中的SVG转换在IE 11中不起作用
- 从画布上的SVG导出PNG
- 使用JavaScript查找具有特定属性的SVG元素
- 如何在不使用iframe或库的情况下创建剪切显示窗口区域
- 在内联html img标记中显示带有图像标记的SVG
- 为不同的SVG应用不同的颜色
- 如何防止剪切使用 D3 库绘制的 SVG(在 Javascript 中)
- Javascript 移动到没有 JS 库的 SVG 路径