当前位置: 首页 > 知识库问答 >
问题:

如果单击浏览器中的按钮后else语句不起作用

邢令
2023-03-14

我想用Javascript、DOM、HTML和CSS构建一个游戏。我的逻辑是这样的:

Step4:如果值彼此不相等,程序会要求刷新浏览器。

但问题是,当我在浏览器中运行这段代码时,只有else语句起作用,if/else-if不起作用。另一个问题是:单击“Button number Three”时,else语句在<p/>标记中显示随机数之前起作用。

//My Code//

var a;
function random1(){
    a = Math.floor(Math.random()*2+1);
    document.getElementById("para1").innerHTML = a;
    return a;       
}
let p1 = document.getElementById("myBtn1");
p1.addEventListener("click", random1);

var b
function random2(){
    b = Math.floor(Math.random()*2+1);
    document.getElementById("para2").innerHTML = b;
    return b;       
}

let t2 = document.getElementById("myBtn2")
t2.addEventListener("click",random2);

var c
function random3(){
    c=Math.floor(Math.random()*2+1);
    document.getElementById("para3").innerHTML = c; 
    return c;    
}

let r3 = document.getElementById("myBtn3");
r3.addEventListener("click",check(a,b,c));
r3.addEventListener("click",random3);


function check(s,t,u){
    if(s===1 && t===1 && u===1){
        alert("Players 1 Wins");
    }
    else if(s===2 && t===2 && u===2){
        alert("Player 2 Wins");
    }
    else{
        alert("Refresh the Browser");
    }
}

共有1个答案

郎灿
2023-03-14

问题出在这一行

r3.addEventListener("click",check(a,b,c))

函数必须是侦听器,当事件发生时浏览器将调用该侦听器。为了解决这个问题,你可以这样做。

r3.addEventListener("click",() => {
   check(a,b,c)
})
 类似资料:
  • 当我使用if语句时,我会遇到一个问题。我在做一个按钮登录,我用了那种代码 它只在该行之后的一行工作。 我该怎么解决这个问题?

  • 问题内容: 我遇到的情况是,单击按钮打开带有搜索结果的新浏览器窗口。 有什么方法可以连接并聚焦到新打开的浏览器窗口吗? 并使用它,然后返回到原始(第一个)窗口。 问题答案: 您可以在以下窗口之间切换:

  • 问题内容: 我遇到的情况是,单击按钮打开带有搜索结果的新浏览器窗口。 有什么方法可以连接并聚焦到新打开的浏览器窗口吗? 并使用它,然后返回到原始(第一个)窗口。 问题答案: 你可以在以下窗口之间切换:

  • 问题内容: 我在aspx页面的c#中使用asp.net和c#,在此面板中有一个更新面板,我有一些指向其他站点的链接,这些链接在同一窗口中打开。在单击这些链接后,当我通过浏览器的后退按钮返回时,在更新面板上没有得到相同的结果… 问题答案: 我已经在以下文章中实现了相同的方法,如果您需要进一步的帮助,请Plz告诉我,我将提供代码 http://rchern.wordpress.com/2008/05/

  • 问题内容: 我有一个带有一些数据的类似表单的页面。并希望在用户单击浏览器后退按钮时显示弹出窗口/警告,询问“他们是否要返回或停留在同一页面上”。我正在使用angular- ui-router,并且只想将此绑定到一个状态/视图。 问题答案: 这是我之前对其他问题的回答,但对您有所帮助 您可以通过使用角度来做到这一点 $ routeChangeStart 在更改路线之前广播。此时,路由服务开始解决发生

  • 问题内容: 是否可以检测用户何时单击浏览器的后退按钮? 我有一个Ajax应用程序,如果我可以检测到用户何时单击“后退”按钮,则可以向后显示适当的数据。 任何使用PHP,JavaScript的解决方案都是可取的。最好用任何一种语言解决方案,只需要我可以翻译成PHP / JavaScript的东西即可 编辑:从下面剪切并粘贴: 哇,所有出色的答案。我想使用Yahoo,但我已经使用了Prototype和