我是svg的新手,我想我会尝试使用snap svg.我有一组我正在拖动的圈子,我正在寻找该组的坐标.我使用getBBox()来做这件事,但它没有像我期望的那样工作.我希望getBBox()更新它的x和y坐标,但它似乎没有这样做.这似乎很简单,但我想我错过了一些东西.这是代码
var lx = 0,
ly = 0,
ox = 0,
oy = 0;
moveFnc = function(dx, dy, x, y) {
var thisBox = this.getBBox();
console.log(thisBox.x, thisBox.y, thisBox);
lx = dx + ox;
ly = dy + oy;
this.transform('t' + lx + ',' + ly);
}
startFnc = function(x, y, e) { }
endFnc = function() {
ox = lx;
oy = ly;
console.log(this.getBBox());
};
var s = Snap("#svg");
var tgroup = s.group();
tgroup.add(s.circle(100, 150, 70), s.circle(200, 150, 70));
tgroup.drag(moveFnc, startFnc, endFnc);
Run Code Online (Sandbox Code Playgroud)
jsfiddle位于http://jsfiddle.net/STpGe/2/
我错过了什么?我如何获得该组的坐标?谢谢.
正如罗伯特所言,它不会改变.但是getBoundingClientRect可能有所帮助.
this.node.getBoundingClientRect(); //from Raphael
Run Code Online (Sandbox Code Playgroud)
Jsfiddle在这里展示了差异http://jsfiddle.net/STpGe/3/.
编辑:其实我很想先到这里去,我发现这个非常有用获取元素的边界框来解释它的变换
归档时间: |
|
查看次数: |
10357 次 |
最近记录: |