遮盖我的鼠标已结束的块
Shading a block that my mouse is over
我正在编写一个创建记忆游戏的代码。我需要这样做,以便当我的鼠标悬停在一个块上时,它会将该块着色为不同的颜色。我正在用javascript编写代码。每当我尝试某事时,只是说字符串不是一个函数。我在可汗学院写作,代码是mouseOver="this.color='black'";谁能帮我?
draw = function() {
if (delayStartFC && (frameCount - delayStartFC) > 30) {
for (var i = 0; i < tiles.length; i++) {
if (!tiles[i].isMatch) {
tiles[i].drawFaceDown();
}
}
flippedTiles = [];
delayStartFC = null;
// commented no loop because the timer stops working if this is enabled.
mouseOver="this.color='black';"
// noLoop();
}
您需要
使用 this.style.backround='color'
而不是 this.color='color'
。 尝试以下代码:
<div style="background:red;" onmouseover="this.style.background='blue';" onmouseout="this.style.background='red'">Content</div>
当您将代码内联时,它可能会变得混乱,因此提取它会很有帮助,如下所示:"选择器"是您希望在鼠标悬停操作上变黑的任何div 或类或 id。
$('selector').hover(function() {
$(this).css('background-color', 'black');
});
一种解决方案可能是:
<div onmouseover="Color(this,'black')"></div>
function Color(obj, color){
obj.style.background=color;
}
希望有用!
我假设您正在查看"Project:Memory++"页面,所以我将从那里开始工作。
如果你看一下上面的 draw 函数,它叫做 mouseClicked,你会注意到它有一种方法可以检查一张卡是否在鼠标下方:
mouseClicked = function() {
for (var i = 0; i < tiles.length; i++) {
if (tiles[i].isUnderMouse(mouseX, mouseY)) { //this line designates a tile under the mouse
// draw the tile, tiles[i], with a color over it.
找到要着色的磁贴后,需要编写一个函数来更改它,方法是更改磁贴显示的图像或为其提供叠加层。在其他线程中有一些好主意,但我会坚持您在可汗学院的其他项目中得到的内容。
我通常将鼠标悬停等事件放在事件侦听器中,而不是放在 HTML 鼠标悬停属性中。如果你想用纯JavaScript来做这件事,试试这个:
document.getElementById("test").addEventListener("mouseover",function(e){e.target.style.backgroundColor = "#000";});
document.getElementById("test").addEventListener("mouseout",function(e){e.target.style.backgroundColor = "#FFF";});
你也可以用CSS来完成这个:
#test {
background-color: #FFF;
}
#test:hover {
background-color: #000;
}
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 当鼠标悬停在文本中的单词上时显示警报
- JsFiddle上的鼠标事件不起作用
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 循环结束/推送到数组之前在页面上呈现EJS
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 在另一个函数成功结束后调用该函数
- 将鼠标旋转限制为特定的度数
- 如何在鼠标悬停时将对象从起始位置移动到结束位置,然后在鼠标悬停后再次移动
- 遮盖我的鼠标已结束的块
- 暂时禁用鼠标滚轮,直到动画结束
- 如果没有jquery,我需要确定鼠标是否在一个元素上,而不是确定它何时结束(以防它没有移动来触发onmouseover)
- d3.js firefox鼠标事件结束
- 将鼠标悬停在缩略图上以启动新图像;悬停结束后,新图像仍然存在
- 在结束动画之前避免鼠标检测
- jQuery鼠标悬停禁用了在密码结束时按回车键的功能
- 是否有“仅在鼠标结束时运行但在鼠标未结束时停止”的 javascript 命令
- 如何检测滚动条上的鼠标向上?(或“滚动结束”事件)