如您所见,我想执行添加和删除类的if / else语句。但是下面的if / else statematen并不是真的为我工作,当我第二次单击时,它添加了类,但是并没有再次删除它们。

    function showAndHidediv(id, liName) {
        $("#" + id).toggle(function () {
            $("#" + id).animate({
               display: 'block'
            }, 500);

            var open = "closed";

            if (open == "open") {
                $("#" + liName + " a").removeClass('color');
                $("#" + liName + " a div").removeClass('block');
                $("#" + liName + " img").removeClass('block');
                open = "closed";
            } else {
                $("#" + liName + " a").addClass('color');
                $("#" + liName + " a div").addClass('block');
                $("#" + liName + " img").addClass('block');
                open = "open";
            }
        });
    }

最佳答案

您可以使用切换类来解决您的问题。

在上面的代码段中,您已获取了本地JS变量。即var open =“ closed”;

所以每次它的步态重置。

尝试全局声明“打开”变量,然后检查。会的。

09-17 01:35