如果 else 和 counter 没有做预期的事情

if else and counter are not doing what is expected

出于某种原因,当我再次单击时,我的计数器没有更改为 1,它使宽度再次变为 100%。(使用 Chrome 的检查发现了这一点)

$(document).ready(function columnreacts1() {
    var columncounter1 = 0;
    if (columncounter1 == 0) {
        $("#lol").click(function() {
            $("#column1").animate({ width: '100%' });
        });
        $("#lol").click(function() {
            $("#column2").hide();
        });
        columncounter1 = 1;
    } else {
        $("#lol").click(function() {
            $("#column1").animate({ width: '50%' });
        });
        $("#lol").click(function() {
            $("#column2").show();
        });
        columncounter1 = 0;
    }
});

看来需要在点击事件后检查条件。在事件中检查 if condition.Also 对 column2column1 的操作是由于同一事件,因此附加一个单击事件将起作用

$(document).ready(function columnreacts1() {
    var columncounter1 = 0;

    $("#lol").click(function() {
        if(columncounter1 === 0) {
            $("#column1").animate({width: '100%'});
            $("#column2").hide();
            columncounter1 = 1;
        }
        else {
            $("#column1").animate({width: '50%'});
            $("#column2").show();
            columncounter1 = 0;
        }
    });
});