javascript - 了解复杂的切换功能

标签 javascript jquery

大家好,我是 Jquery 的新手,基本上我遇到了以下代码,它基本上是一个使用本地存储的 Accordion 。

$(function () {
    var initialCollapse = localStorage.collapse;


    if (initialCollapse) initialCollapse = initialCollapse.split(",")
    console.log(initialCollapse);
    $(".collapse-headings>a").click(function () {
        var div = $(this).parent();

        div.toggleClass("close open");


        $(".collapse-content", div).toggle("slow");

        localStorage.collapse = $(".collapse-headings").map(function () {
            return $(this).hasClass("open") ? "open" : "close"
        }).get()

        console.log(localStorage.collapse)
        return false;
    })
    if (initialCollapse) {
        $(".collapse-headings>a").each(function (i) {
            var div = $(this).parent();
            div.removeClass("close open").addClass(initialCollapse[i])

            $(".collapse-content", div).toggle(initialCollapse[i] !== "close");

        })
    }

});

Fiddle HERE

现在我浏览了 JQuery 文档,它非常有帮助,基本上我能够理解除了一行代码之外的大部分代码,I.E.

$(".collapse-content", div).toggle(initialCollapse[i] !== "close");

如果上面这行代码在做什么呢??我知道它使用的是不等于运算符,但它究竟是如何运作的呢?有人可以解释吗?请为我分解它,因为我是 JS 新手。

谢谢。

高塔姆。

最佳答案

暂时忘记 bool 检查的复杂性,如果是的话会不会更有意义

$(".collapse-content", div).toggle(true);

$(".collapse-content", div).toggle(false);

docs

Use true to show the element or false to hide it.

因此,如果 Accordion 的特定元素未设置为“关闭”,则 bool 检查 initialCollapse[i] !== "close" 将为 true

关于javascript - 了解复杂的切换功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30371989/

相关文章:

javascript - 如果用户调整窗口大小/窗口未最大化,是否可以隐藏网页上的图像

javascript - 更改 HTML 中的文本 选择选项

带有可点击结果的 jQueryUI 自动完成

javascript - insertAfter 为多个 div

javascript - jQuery 自动完成,3 个值或更多

javascript - 适合窗口高度的图像

javascript - 如何知道javascript中按钮的背景颜色?

javascript - 为什么它不使用 jquery 在控制台日志中显示 JSON 数据?

javascript - 如何在 javascript 中分隔这些 div?

jquery - 固定购物车,滚动移动但不粘在页面顶部