我遇到了关于鼠标光标在我的SVG文档中的位置的麻烦.我想在HTML页面中使用JavaScript设计一个在拖动时跟随光标的电位计.
我尝试了evt.clientX/Y和evt.screenX/Y,但由于我的SVG处于自动缩放状态,因此我的SVG中的坐标是不同的.我现在一直在寻找答案,但我找不到任何解决方案(要么实时了解我的SVG重新缩放因子,要么在SVG坐标系统中具有鼠标位置功能).
轮换将遵循一个简单的规则:
if(evt.screenX <xc)ang = Math.atan((evt.screenY - yc)/(evt.screenX - xc))*360 /(2*Math.PI) - 90;
if(evt.screenX> xc)
ang = Math.atan((evt.screenY - yc)/(evt.screenX - xc))*360 /(2*Math.PI)+ 90;
用(xc; yc)作为旋转中心,用SVG中鼠标的坐标替换所有evt.screenX/Y.