大家好,我是 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/