canvas绘图拖拽问题

绘制地铁图,实现拖拽功能,第一次拖拽正常,后面拖拽会出现一个往相反方向回退的效果。

function clickSubway(e) {
    isDrag=true;
    start_x=e.pageX-draw.offsetLeft;
    start_y=e.pageY-draw.offsetTop;

}
//拖拽事件
function dragSubway(e) {
    end_x=e.pageX-draw.offsetLeft;
    end_y=e.pageY-draw.offsetTop;
    mx=end_x-start_x;
    my=end_y-start_y;  //重新绘图时,各元素坐标加上此值
    if(isDrag){
        drawSubway();
    }

}

function stopDrag(e) {
    isDrag=false;
    e.stopPropagation();
    e.preventDefault();

}
阅读 2.5k
2 个回答

因为边框吧。边框宽度考虑了吗?

类似的问题碰到过,但是我是用SVG绘图的,主要是因为父容器的问题好像,你可以关注一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题