Jquery 可拖动弧HTML5
我在画布上画了一幅雷达图,图中的弧线是气泡。气泡是静止的。我需要把泡泡拖起来。html、css和javascripts在下面的链接中:我使用的一个类似技巧是让用户用鼠标拖动看不见的气泡 可见的物体不是真正的交互,而是跟随不可见物体的位置,除非它们在弧外Jquery 可拖动弧HTML5,jquery,css,html,canvas,Jquery,Css,Html,Canvas,我在画布上画了一幅雷达图,图中的弧线是气泡。气泡是静止的。我需要把泡泡拖起来。html、css和javascripts在下面的链接中:我使用的一个类似技巧是让用户用鼠标拖动看不见的气泡 可见的物体不是真正的交互,而是跟随不可见物体的位置,除非它们在弧外 释放鼠标后,您可以将不可见的气泡重置为位于可见的气泡上。您可以使用此代码模式让用户拖动气泡(圆圈) 下面是一个演示: 首先,将所有圆定义保存在对象数组中: var circles=[]; circles.push({cx:10,cy:10,rad
释放鼠标后,您可以将不可见的气泡重置为位于可见的气泡上。您可以使用此代码模式让用户拖动气泡(圆圈) 下面是一个演示: 首先,将所有圆定义保存在对象数组中:
var circles=[];
circles.push({cx:10,cy:10,radius:20});
var dx=mouseX-circles[2].cx;
var dy=mouseY-circles[2].cy;
var rr=circles[2].radius*circles[2].radius;
var isInside= (dx*dx+dy*dy <= rr);
然后响应鼠标事件:
鼠标向下:
var circles=[];
circles.push({cx:10,cy:10,radius:20});
var dx=mouseX-circles[2].cx;
var dy=mouseY-circles[2].cy;
var rr=circles[2].radius*circles[2].radius;
var isInside= (dx*dx+dy*dy <= rr);
- 保存当前鼠标位置(lastX/lastY)
- 确定用户鼠标下方的圆圈(见下文)
- 设置一个标志(isDown),指示用户正在按住鼠标(拖动开始)
var circles=[];
circles.push({cx:10,cy:10,radius:20});
var dx=mouseX-circles[2].cx;
var dy=mouseY-circles[2].cy;
var rr=circles[2].radius*circles[2].radius;
var isInside= (dx*dx+dy*dy <= rr);
- 确定当前鼠标位置(mouseX/mouseY)
- 将每个拖动的圆设置为新位置:cx=mouseX-lastX和cy=mouseY-lastY
- 设置lastX=mouseX&lastY=mouseY
- 重新绘制画布
var circles=[];
circles.push({cx:10,cy:10,radius:20});
var dx=mouseX-circles[2].cx;
var dy=mouseY-circles[2].cy;
var rr=circles[2].radius*circles[2].radius;
var isInside= (dx*dx+dy*dy <= rr);
- 清除isDown标志(拖动结束)
var circles=[];
circles.push({cx:10,cy:10,radius:20});
var dx=mouseX-circles[2].cx;
var dy=mouseY-circles[2].cy;
var rr=circles[2].radius*circles[2].radius;
var isInside= (dx*dx+dy*dy <= rr);
var dx=mouseX圆[2].cx;
var dy=鼠标圆[2].cy;
var rr=圆[2]。半径*圆[2]。半径;
var isInside=(dx*dx+dy*dy这里是jsfiddle链接:我不知道是谁做了负面标记。我也不知道他/她有什么问题。