Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 边框颜色更改仅适用于第一次_Javascript_Jquery_Html_Css_Game Development - Fatal编程技术网

Javascript 边框颜色更改仅适用于第一次

Javascript 边框颜色更改仅适用于第一次,javascript,jquery,html,css,game-development,Javascript,Jquery,Html,Css,Game Development,我正在尝试制作一个基于javascript的小游戏 这是你的电话号码 除了几个问题外,它几乎可以正常工作:- 单击任何TD,如果图像位于该TD中,则单元格边框颜色应为绿色,否则 如果您单击了错误的TD,边框颜色将变为红色。 此功能仅在您第一次启动游戏时起作用。从下一次开始,它总是 显示红色边框颜色 在第8级之前,边框颜色的变化是可见的,但随着级别的增加,用户 无法体验他是否击中了正确的单元格。我想要的是,一旦你点击了正确的单元格,颜色变化应该是可见的和稳定的,直到图像出现在另一个单元格中 代码和

我正在尝试制作一个基于javascript的小游戏

这是你的电话号码

除了几个问题外,它几乎可以正常工作:-

  • 单击任何
    TD
    ,如果图像位于该
    TD
    中,则单元格边框颜色应为绿色,否则 如果您单击了错误的
    TD
    ,边框颜色将变为红色。
    此功能仅在您第一次启动游戏时起作用。从下一次开始,它总是 显示红色边框颜色

  • 在第8级之前,边框颜色的变化是可见的,但随着级别的增加,用户 无法体验他是否击中了正确的单元格。我想要的是,一旦你点击了正确的单元格,颜色变化应该是可见的和稳定的,直到图像出现在另一个单元格中


  • 代码和建议方面的任何改进都是值得注意的。

    当您第二次开始游戏时,您可以调用
    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-->