Javascript 使用“单击”选项在画布中绘制圆
我编写了以下javascript代码:Javascript 使用“单击”选项在画布中绘制圆,javascript,jquery,html,canvas,Javascript,Jquery,Html,Canvas,我编写了以下javascript代码: <script> var canvas = document.getElementById("canvas"); var canvasOffset = $("#canvas").offset(); var offsetX = canvasOffset.left; var offsetY = canvasOffset.top; function handleMous
<script>
var canvas = document.getElementById("canvas");
var canvasOffset = $("#canvas").offset();
var offsetX = canvasOffset.left;
var offsetY = canvasOffset.top;
function handleMouseDown(e) {
mouseX = parseInt(e.clientX - offsetX);
mouseY = parseInt(e.clientY - offsetY);
$("#downlog").html("Down: " + mouseX + " / " + mouseY);
}
$("#canvas").mousedown(function(e) {
handleMouseDown(e);
});
</script>
var canvas=document.getElementById(“canvas”);
var canvasOffset=$(“#画布”).offset();
var offsetX=canvasOffset.left;
var offsetY=canvasOffset.top;
功能手柄向下(e){
mouseX=parseInt(e.clientX-offsetX);
mouseY=parseInt(e.clientY-offsetY);
$(“#downlog”).html(“Down:“+mouseX+”/“+mouseY”);
}
$(“#画布”).mousedown(函数(e){
把手向下(e);
});
在这段代码中,我通过单击鼠标来检测坐标。
我想在这个坐标周围画一个圆圈,当我点击圆圈时,做一些事情(例如打开google.com)
注意:我使用html 4中的jquery和area map来实现这一点,但在画布中我没有任何想法。我无法判断您是否要绘制一个圆,是否要在圆中检测鼠标单击,或者两者都要
var context = canvas.getContext('2d');
var centerX = canvas.width / 2;
var centerY = canvas.height / 2;
var radius = 70;
context.beginPath();
context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
context.fillStyle = 'green';
context.fill();
context.lineWidth = 5;
context.strokeStyle = '#003300';
context.stroke();
画一个圆圈:
var context=canvas.getContext("2d");
ctx.beginPath();
//Draw a circle around a mouse click
//ctx.arc(x-position, y-position, radius, start-angle, end-angle);
ctx.arc(mouseX, mouseY, 30, 0, 2*Math.PI);
ctx.stroke();
//circleX and circleY are the coordinats of the center
var y = mouseY - circleY;
var x = mouseX - circleX;
var dist = Math.sqrt(y*y + x*x);
if (dist < circleRadius) {
// Do whatever you want to do
}
检测圆内的鼠标单击:
var context=canvas.getContext("2d");
ctx.beginPath();
//Draw a circle around a mouse click
//ctx.arc(x-position, y-position, radius, start-angle, end-angle);
ctx.arc(mouseX, mouseY, 30, 0, 2*Math.PI);
ctx.stroke();
//circleX and circleY are the coordinats of the center
var y = mouseY - circleY;
var x = mouseX - circleX;
var dist = Math.sqrt(y*y + x*x);
if (dist < circleRadius) {
// Do whatever you want to do
}
//circleX和circleY是中心的协调人
变量y=鼠标-圆圈;
var x=鼠标-圆环;
var dist=数学sqrt(y*y+x*x);
if(dist
我无法判断您是否要绘制一个圆,是否要在圆中检测鼠标单击,或者两者都要
画一个圆圈:
var context=canvas.getContext("2d");
ctx.beginPath();
//Draw a circle around a mouse click
//ctx.arc(x-position, y-position, radius, start-angle, end-angle);
ctx.arc(mouseX, mouseY, 30, 0, 2*Math.PI);
ctx.stroke();
//circleX and circleY are the coordinats of the center
var y = mouseY - circleY;
var x = mouseX - circleX;
var dist = Math.sqrt(y*y + x*x);
if (dist < circleRadius) {
// Do whatever you want to do
}
检测圆内的鼠标单击:
var context=canvas.getContext("2d");
ctx.beginPath();
//Draw a circle around a mouse click
//ctx.arc(x-position, y-position, radius, start-angle, end-angle);
ctx.arc(mouseX, mouseY, 30, 0, 2*Math.PI);
ctx.stroke();
//circleX and circleY are the coordinats of the center
var y = mouseY - circleY;
var x = mouseX - circleX;
var dist = Math.sqrt(y*y + x*x);
if (dist < circleRadius) {
// Do whatever you want to do
}
//circleX和circleY是中心的协调人
变量y=鼠标-圆圈;
var x=鼠标-圆环;
var dist=数学sqrt(y*y+x*x);
if(dist
我会将Raphael.js添加到您的js库堆栈中。它使绘画变得非常容易。那么你想看看是否有用户在你的圈子里点击了?我会将Raphael.js添加到你的js库堆栈中。它使绘画变得非常容易。所以你想看看是否有用户在你的圈子里点击了?