Jquery If语句不隐藏元素并在计算为true时显示元素

Jquery If语句不隐藏元素并在计算为true时显示元素,jquery,html,Jquery,Html,我在做间谍电话时遇到了另一个问题。。。间谍电话被密码锁定了,在这个代码被修复后,我将使用模糊处理jquery。。。 但问题是,我有一个if语句来检查值,看看它是否是正确的密码,但是当我输入正确的密码时,什么也没有发生 <!-- Spy phone--> <div id="spyphonectrl" style="position: fixed; top: 2%; right: 2%;"> <button id="showspy

我在做间谍电话时遇到了另一个问题。。。间谍电话被密码锁定了,在这个代码被修复后,我将使用模糊处理jquery。。。 但问题是,我有一个if语句来检查值,看看它是否是正确的密码,但是当我输入正确的密码时,什么也没有发生

<!-- Spy phone-->
        <div id="spyphonectrl" style="position: fixed; top: 2%; right: 2%;">
            <button id="showspyphone" class="btn" style="color: white;">Hide/Show Spy Phone</button>
            <script>
                $(document).ready(function () {
                    $("#spyphone").hide();
                    $("#showspyphone").click(function () {
                        $("#spyphone").toggle();
                        $("#spookystuff").hide();
                    });
                });
                $("#buttonthingy").click(function () { // THIS IS THE PROBLEM
                    if ($("#loomynarty").val() == "DFF8GY8333") {
                        $("#loomynarty").hide(); // DOES NOT HIDE INPUT ELEMENT
                        $("#buttonthingy").hide(); // DOESN'T HIDE SUBMIT BUTTON
                        $("#spookystuff").show(); // DOESNT SHOW MAIN SPYPHONE STUFF
                    }
                });
</script>
            <div id="spyphone" class="spyphone">
                <p style="color: white;">Enter the code you got from passing the test.</p>

                <input type="text" id="loomynarty" style="width: 100px;">
                <button id="buttonthingy">Submit code</button>

                <div id="spookystuff">
            <button id="messagebutton"class="spyphonebutton">Messages</button>
            <div id="messages">
                <p>hai</p>
            </div>
            <button id="exit">Exit</button>
            <script>
                $("#messages").hide();
                $("#exit").hide();
                $("#messagebutton").click(function () {
                    $("#exit").show();
                    $("#messages").show();
                });
                $("#exit").click(function () {
                    if ($("#messages").is(":visible")) {
                        $("#messages").hide(); 
                        $("#exit").hide(); 
                    }
                });
            </script>
        </div>
    </div>
            </div>

隐藏/显示间谍电话
$(文档).ready(函数(){
$(“#间谍电话”).hide();
$(“#showspyphone”)。单击(函数(){
$(“#间谍电话”).toggle();
$(“#鬼东西”).hide();
});
});
$(“#buttonthingy”)。单击(函数(){//这就是问题所在
if($(“#loomynarty”).val()=“DFF8GY8333”){
$(“#loomynarty”).hide();//不隐藏输入元素
$(“#buttonthingy”).hide();//不隐藏提交按钮
$(“#spookystuff”).show();//不显示主要间谍电话内容
}
});
输入通过测试获得的代码

提交代码 信息 海

出口 $(“#消息”).hide(); $(“#退出”).hide(); $(“#消息按钮”)。单击(函数(){ $(“#退出”).show(); $(“#消息”).show(); }); $(“#退出”)。单击(函数(){ 如果($(“#消息”)为(“:可见”)){ $(“#消息”).hide(); $(“#退出”).hide(); } });

我怀疑手头的问题实际上是在检查值,但我不确定。

解决方案可以在下面的提琴中找到

}))

我将setInterval()JavaScript函数中的功能设置为每500毫秒检查一次参数是否为true。我在按钮上添加了背景色,以直观地检查代码是否正常工作和触发。这似乎只是语法错误的一个例子。您可以通过取消对clearInterval函数的注释来“强制停止”脚本,以便在完成所有隐藏后将其清除。

#buttonthingy
在您尝试绑定click事件处理程序时不存在–该部分代码属于
$(文档)。ready
函数也是如此。
$(document).ready(function () {
jQuery("input#loomynarty").val("DFF8GY8333");
var hideProblem = setInterval( function() {     
    if($("#loomynarty").length > 0 && $("input#loomynarty").val() === "DFF8GY8333")
    {
        $("#buttonthingy").css("background-color", "red");
        $("#buttonthingy").click(function () { // THIS IS THE PROBLEM
            $("#loomynarty").hide(); // DOES NOT HIDE INPUT ELEMENT
            $("#buttonthingy").hide(); // DOESN'T HIDE SUBMIT BUTTON
            $("#spookystuff").show(); // DOESNT SHOW MAIN SPYPHONE STUFF
        //clearInterval(hideProblem);
        });  
    } else {
        var DoNothing = "";
    }
//return hideProblem;
}, 500);