javascript - jQuery中通过 'If Statement'切换动画

标签 javascript jquery css if-statement

我在 jQuery 中有一些代码,我想在其中通过单击 div 来打开或关闭开关动画。这是代码。当我测试它时,它不起作用。但是,如果我删除第 7 行的 toggle = true,它只会以一种方式工作,我无法将其关闭。

$(document).ready(function () {
    $("#switch").click(function () {
        var toggle = false;
        if (toggle == false) {
            $("#circle").css("left", "27px");
            $("#white_rect").attr("src", "green_rect.png");
            toggle = true;
        }
        if (toggle == true) {
            $("#circle").css("left", "1px");
            $("#white_rect").attr("src", "white_rect.png");
            toggle = false;
        }
    });
});

最佳答案

您需要在点击处理程序之外声明 toggle 变量...否则在每次点击调用中,该变量将被重新初始化,因此该变量的值将始终为 false。

$(document).ready(function () {
    //declare it here
    var toggle = false;
    $("#switch").click(function () {
        if (toggle == false) {
            $("#circle").css("left", "27px");
            $("#white_rect").attr("src", "green_rect.png");
            toggle = true;
        //also don't use a separate if block here as it will be affected by the execution of the above if block
        } else {
            $("#circle").css("left", "1px");
            $("#white_rect").attr("src", "white_rect.png");
            toggle = false;
        }
    });
});

$(document).ready(function () {
    //declare it here
    var toggle = false;
    $("#switch").click(function () {
        if (toggle) {
            $("#circle").css("left", "1px");
            $("#white_rect").attr("src", "white_rect.png");
        } else {
            $("#circle").css("left", "27px");
            $("#white_rect").attr("src", "green_rect.png");
        }
        toggle = !toggle;
    });
});

关于javascript - jQuery中通过 'If Statement'切换动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21378748/

相关文章:

javascript - 关于 Javascript 中 Dom 对象作为值对象的抽象问题

css - 如何使用 selenium 和 css 获取属性值

javascript - 如何用 javaScript 输出我的输入和答案

javascript - 如何在不创建新数组的情况下用另一个数组扩展现有 JavaScript 数组

jquery - 访问 razor 内的 javascript 变量

javascript - 在每个悬停事件上生成随机 Logo 颜色

javascript - bootstrap javascript如何在模态窗口中隐藏div

javascript - Android 版 Chrome 在重放录音时出现错误

jquery - 鼠标悬停在元素上 - 在父(或其他)元素上做某事/鼠标悬停 - 撤消某事?

html - 如何让一个div垂直居中?