Javascript 如何使用canvas在饼图每个部分的鼠标上方添加工具提示
Javascript 如何使用canvas在饼图每个部分的鼠标上方添加工具提示,javascript,jquery,html,canvas,Javascript,Jquery,Html,Canvas,var canvas=document.getElementById(“canvas”); var ctx=canvas.getContext(“2d”); var cw=画布宽度; var ch=画布高度; ctx.lineWidth=2; ctx.font='14px verdana'; var PI2=Math.PI*2; var myColor=[“绿色”、“红色”、“蓝色”]; var myData=[30,15,38,22,30,20,10]; var-cx=150; var-cy=
var canvas=document.getElementById(“canvas”);
var ctx=canvas.getContext(“2d”);
var cw=画布宽度;
var ch=画布高度;
ctx.lineWidth=2;
ctx.font='14px verdana';
var PI2=Math.PI*2;
var myColor=[“绿色”、“红色”、“蓝色”];
var myData=[30,15,38,22,30,20,10];
var-cx=150;
var-cy=150;
var半径=100;
ctx.globalAlpha=0.50;
pieChart(myData,myColor);
ctx.globalAlpha=1.00;
功能图表(数据、颜色){
//计算数据总计
var合计=0;
对于(变量i=0;i
Canvas.title=“工具提示文本”
在最基本的级别上,可以使用canvas.title属性设置工具提示。只需获取鼠标移动事件并记录鼠标位置。然后,当您检测到鼠标已改变位置时,请检查鼠标所在的切片(如果有),并将工具提示设置为匹配
请注意,浏览器工具提示对更改的响应有点慢
为了更好的回应。
您还可以在渲染循环的每一帧绘制图表,并在鼠标悬停时高亮显示饼图的各个部分,并创建一个比浏览器默认设置响应速度更快的工具提示,浏览器默认设置有时响应速度会稍慢
下面的示例只是您的代码,其中包含获取基本工具提示所需的修改
请注意,我将鼠标事件侦听器和更改工具提示的功能分开,这是因为在某些系统上,鼠标的采样率非常高(我当前的游戏鼠标每秒可以触发700多次以上),并且在mousemove事件中执行过多操作可能会导致对用户输入的响应滞后
var canvas=document.getElementById(“canvas”);
var ctx=canvas.getContext(“2d”);
var cw=画布宽度;
var ch=画布高度;
ctx.lineWidth=2;
ctx.font='14px verdana';
var PI2=Math.PI*2;
var myColor=[“绿色”、“红色”、“蓝色”];
var myData=[30,15,38,22,30,20,10];
var-cx=150;
var-cy=150;
var半径=100;
var mouse={x:0,y:0,oldx:0,oldy:0};
ctx.globalAlpha=0.50;
pieChart(myData,myColor);
ctx.globalAlpha=1.00;
功能图表(数据、颜色){
//计算数据总计
var合计=0;
对于(变量i=0;i
Canvas.title=“工具提示文本”
在最基本的级别上,可以使用canvas.title属性设置工具提示。只需获取鼠标移动事件并记录鼠标位置。然后当你发现鼠标