我想使用 JavaScript 在我的画布上添加鼠标悬停效果
I want to add Mouseover effect on my Canvas using JavaScript
鼠标悬停效果应仅在特定的画布位置创建。此外,我还创建了MousePosition函数(见下文)。鼠标悬停效果的命令应位于鼠标悬停按钮函数上。
但它似乎仍然不起作用。
我的代码:
function init() {
var can=document.getElementById("SnakeCanvas");
var ctx=can.getContext("2d");
can.addEventListener('mouseover',MouseOverButton, false);
}
function getPosition(event) {
var x = new Number();
var y = new Number();
var can = document.getElementById("SnakeCanvas");
if (event.x != undefined && event.y != undefined) {
x = event.x;
y = event.y;
} else {//Firefox Compatability//
x = event.clientX + document.body.scrollLeft +
document.documentElement.scrollLeft;
y = event.clientY + document.body.scrollTop +
document.documentElement.scrollTop;
}
x -= can.offsetLeft;
y -= can.offsetTop;
return {mx:x, my:y};
}
function MouseOverButton(e) {
var can=document.getElementById("SnakeCanvas");
var ctx=can.getContext("2d");
var cell=getPosition(event);
if ((cell.mx > 854 && cell.mx < 985) && (cell.my > 256 && cell.my < 315)) {
ReplaceImage(ctx,'Images/New_Game_Hover.png',570,100,140,70);
}
}
function MouseOverButton(e)
中的事件参数称为 e
但在将其传递给 getPosition
时event
var cell=getPosition(event);
应该var cell=getPosition(e);
试试这个:
function MouseOverButton(e) {
e = e || window.event; // Compatibility
var can = document.getElementById("SnakeCanvas");
var ctx = can.getContext("2d");
var cell = getPosition(e);
// ^ That was `event`, breaking your code.
if ((cell.mx > 854 && cell.mx < 985) && (cell.my > 256 && cell.my < 315)) {
ReplaceImage(ctx,'Images/New_Game_Hover.png',570,100,140,70);
}
}
相关文章:
- 为画布绘图添加鼠标事件
- 将鼠标悬停在Angular JS中的一个元素上,并将Class添加到另一个元素中
- Javascript/jQuery-鼠标事件没有在html上触发,添加了动态
- 在 Adobe Animate CC 中添加鼠标悬停指针
- 高图表.js添加鼠标悬停功能或悬停状态(实现中断图表?
- 在 C# 代码隐藏中添加鼠标悬停属性
- 动态创建画布并添加鼠标按下功能
- 如果鼠标移动到图像上,我如何添加鼠标事件,它将显示播放/停止/暂停按钮
- 在jq绘图图上添加鼠标悬停
- 如何为圆形图像添加鼠标悬停阴影效果
- CSS下拉菜单:添加鼠标退出延迟
- 如何在绘制画布组件中添加鼠标事件
- HTML5.如何在绘制的画布组件中添加鼠标事件
- 在容器中放置图像和添加鼠标交互时的浏览器兼容性
- 如何捕获鼠标悬停事件时,动态添加鼠标已经在元素上
- jQuery菜单-如何添加鼠标事件
- 如何在画布的圆圈中添加鼠标单击/拖动事件.在HTML 5
- 添加鼠标上键&onMousedown事件——javascript函数内部
- (添加鼠标滚轮功能)使用DOMmouseScroll AND鼠标滚轮来调用函数
- 我想使用 JavaScript 在我的画布上添加鼠标悬停效果