切换点击功能

时间:2021-07-26 03:27:05

标签: javascript html

好的,所以我成功切换了 bool 和其他一些选项。

但是每当我为另一个按钮创建另一个单击功能以将 bool 切换为 false 时,它​​都不起作用。

我的代码:

    let managementbool = false;
    $("#management").on('click', function(){
        managementbool = true;

        if(managementbool)
        {
            $(".dot1").hide();
            $(".dot2").hide();
            $(".topbar").hide();
            $(".boostingtext").hide();
            $(".mainbar").hide();
            $("#container").hide();
    
            $(".dot11").show();
            $(".dot22").show();
            $(".topbar1").show();
            $(".boostingtext1").show();
            $(".mainbar1").show();
        }
    });

    $("#contracts").click(function () {
        managementbool = false;

        $(".dot11").hide();
        $(".dot22").hide();
        $(".topbar1").hide();
        $(".boostingtext1").hide();
        $(".mainbar1").hide();

        $(".dot1").show();
        $(".dot2").show();
        $(".topbar").show();
        $(".boostingtext").show();
        $(".mainbar").show();
        $("#container").hide();
    });

第一个将其切换为 true 的按钮有效,但是每当我单击将其设置为 false 的按钮时。什么都没发生。

1 个答案:

答案 0 :(得分:1)

您没有正确添加函数。 $("#contracts").on('click', function() { ... }); 应该可以工作。

还要看看您是否真的需要您的 managementbool 变量。当我点击 #management 时,您将其设置为 true,从而始终执行 if 语句中的代码,从而使 if 语句变得多余。在您显示的代码段中,您似乎从未真正根据 managementbool 的值执行任何操作。

$("#show").on('click', function() {
  $("#some_element").show();
});

$("#hide").on('click', function() {
  $("#some_element").hide();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button id="show">Show</button>
<button id="hide">Hide</button>

<div id="some_element">Test</div>