Javascript 第二个if-else语句(表示尝试次数)似乎不起作用

Javascript 第二个if-else语句(表示尝试次数)似乎不起作用,javascript,jquery,html,Javascript,Jquery,Html,尝试次数为2时,不会弹出警报。尝试次数变量是否没有增加?我不知道。请帮忙 var attempts = 0; var $code = "youknowme"; $('.go').on('click', function() { if ($('#pass').val() === $code) { window.open("3.html"); } else { alert("wrong code"); attempts = attem

尝试次数为
2
时,不会弹出警报。
尝试次数
变量是否没有增加?我不知道。请帮忙

var attempts = 0;
var $code = "youknowme";

$('.go').on('click', function() {
    if ($('#pass').val() === $code) {
        window.open("3.html");
    } else {
        alert("wrong code");
        attempts = attempts + 1;
    }   
});

if (attempts === 2) {      
    /*this code not working*/
    alert("You have last chance left");
} else if (attempts === 3) {
    window.close();
}

这是因为您需要将代码放入click事件中。目前,if语句只检查一次,而这恰好是在您将尝试次数设置为0之后

如果您的代码格式正确,这将使它更容易发现

这就是它应该是什么样子:

var attempts=0;
var $code="youknowme";

$('.go').on('click',function(){

    if($('#pass').val()===$code){
        window.open("3.html");
    }else{
        alert("wrong code");
        attempts=attempts+1;
    }   

    /* code is now executed each time the click event occurs */
    if(attempts===2){
        alert("You have last chance left");
    }
    else if(attempts===3){
        window.close();
    }

});

您的代码应该在函数中:

var attempts=0;
var $code="youknowme";

$('.go').on('click',function(){
    if($('#pass').val()===$code){
        window.open("3.html");
    }else{
        alert("wrong code");
        attempts=attempts+1;
    }   
    if(attempts===2){      /*this code not working*/
        alert("You have last chance left");
    }
    else if(attempts===3){
        window.close();
    }
});

if语句需要在onclick侦听器中。单击时不会执行它们。

if语句不在click函数的范围内。 ``` $('.go')。在('click',function()上{ if($('#pass').val()=$代码){ window.open(“3.html”); }否则{ 警报(“错误代码”); 尝试次数=尝试次数+1; }

    if (attempts === 2) {      
        /*this code not working*/
        alert("You have last chance left");
    } else if (attempts === 3) {
        window.close();
    }
});

```

我可以看到你的html吗?因为当代码执行时,
尝试次数
等于
0
。因为你刚刚将它定义为
0
。现在我已经正确地格式化了你的代码,你可以看到你只在加载时检查
尝试次数===2
。我想你实际上需要把它放在
点击
处理程序中。这是真的吗是否进行客户端密码检查?您知道这确实不安全,因为任何用户都可以看到$code值?应该有一个关闭原因“只要代码正确格式化,错误就会很明显”