请选择 进入手机版 | 继续访问电脑版

HTML5星空

HTML5星空 首页 HTML5教程 Canvas 查看内容

HTML5 Canvas事件感应

2013-12-16 09:38| 发布者: admin| 查看: 1969| 评论: 0

摘要: 在实际的开发过程中,对于Canvas来说,某一区域的鼠标事件感应是一件非常重要而常见的需求,本节会提供一个感应事件的示例代码。在下面代码中,我们对整个Canvas的click和mouseover事件进行了监听,并在此事件执行时 ...
在实际的开发过程中,对于Canvas来说,某一区域的鼠标事件感应是一件非常重要而常见的需求,本节会提供一个感应事件的示例代码。

在下面代码中,我们对整个Canvas的click和mouseover事件进行了监听,并在此事件执行时,产生响应触发效果。
<canvas id="mycanvas" width="500" height="500" style="border:1px #000 solid;"
onclick="check(event);" onmouseover="check(event)"
onmouseout="check(event)"></canvas>
<script type="text/javascript">
var mycanvas = document.getElementById("mycanvas");
var ctx = mycanvas.getContext('2d');
ctx.fillStyle="blue";
ctx.fillRect(100,100,100,100); //设定感应区为(100,100)和(100,100)构成的矩形区域
function check(event){
console.log(event.clientX+"-"+event.clientY);
if((event.clientX>=100 && event.clientX<=200 && event.clientY>=100 &&
event.clientY<=200)){ //判定是否在感应区中
ctx.clearRect(0,0,500,500);
ctx.fillStyle="rgba(100,100,100,0.5)";
ctx.shadowOffsetX = 10;
ctx.shadowOffsetY = 10;
ctx.shadowBlur = 5;
ctx.shadowColor = "rgba(0, 0, 0, 0.9)"; //阴影的颜色,透明度为0.9
ctx.fillRect(100,100,100,100);
}
else
{
ctx.fillStyle="blue";
ctx.fillRect(100,100,100,100); //设定感应区为(100,100)和(100,100)构成的矩形区域
}
}
</script>

选中前与选中后的情况比较见下图:



鲜花

握手

雷人

路过

鸡蛋

相关阅读

快讯

     京ICP备14042305号

html5star team © 2012-2013 html5星空 Comsenz Inc.

GMT+8, 2019-12-11 11:35 , Processed in 0.081744 second(s), 29 queries .

返回顶部