Javascript 边框颜色更改仅适用于第一次
我正在尝试制作一个基于javascript的小游戏 这是你的电话号码 除了几个问题外,它几乎可以正常工作:-Javascript 边框颜色更改仅适用于第一次,javascript,jquery,html,css,game-development,Javascript,Jquery,Html,Css,Game Development,我正在尝试制作一个基于javascript的小游戏 这是你的电话号码 除了几个问题外,它几乎可以正常工作:- 单击任何TD,如果图像位于该TD中,则单元格边框颜色应为绿色,否则 如果您单击了错误的TD,边框颜色将变为红色。 此功能仅在您第一次启动游戏时起作用。从下一次开始,它总是 显示红色边框颜色 在第8级之前,边框颜色的变化是可见的,但随着级别的增加,用户 无法体验他是否击中了正确的单元格。我想要的是,一旦你点击了正确的单元格,颜色变化应该是可见的和稳定的,直到图像出现在另一个单元格中 代码和
TD
,如果图像位于该TD
中,则单元格边框颜色应为绿色,否则
如果您单击了错误的TD
,边框颜色将变为红色。此功能仅在您第一次启动游戏时起作用。从下一次开始,它总是 显示红色边框颜色
代码和建议方面的任何改进都是值得注意的。当您第二次开始游戏时,您可以调用
startGame()
在startGame()
中,您有一个$('td')。单击()
,它将第二次触发,因此每次单击,它将实际单击两次(一次捕捉,一次未命中)。
这样就行了
在开始菜单中取消绑定click事件
$('td').unbind('click');
在startGame()函数上绑定click事件
$('td').bind('click');
$('td').unbind('click');
在stopGame()
函数上解除单击事件的绑定
$('td').bind('click');
$('td').unbind('click');
您的代码有问题:-
您正在调用startGame()
函数中的click事件,因此第一次有了$('td')。click()
函数
$('td').bind('click');
$('td').unbind('click');
第二次调用startGame()
函数时,有两个$('td')。单击()
函数,然后是一个创建混乱的函数
第二点建议
在函数callStart()
中,您将下面的代码放在顶部,而不是将下面的代码放在该函数的末尾
$('td').removeClass("insetBorderMiss");
$('td').removeClass("insetBorderCatch");
@Pranav我已经用建议和演示更新了答案好的..谢谢..但是当你在9级玩游戏时,这没有任何区别。。我想要的是,一旦你点击图片,效果应该稳定一段时间,然后消失。还有一件事,在第9级,有时捕获计数也显示错误。我想这是因为事件没有正确同步。@Pranav您可以删除此$('td')。removeClass(“InsettOrderMiss”)代码>来自callStart()
以便正确选择的选项保持高亮显示Demo 1-->demo2-->