我编写了一个基本的jQuery函数,用于打开和关闭底部菜单(JSFiddle)。但是,它似乎只是在if
函数中触发了最后一个click
语句。
我创建了一个名为openNclose
的变量,默认为false
,因为菜单未打开。一旦打开,它应该更改为true
并触发结束if
声明,但这不起作用。
$(menuContainer).click(function() {
if (openNclose == true) {
$(menuContainer).css("height", "50px");
$(menuOpen).css("bottom", "50px");
openNclose = false;
}
if (openNclose == false) {
$(menuContainer).css("height", "200px");
$(menuOpen).css("bottom", "200px");
openNclose = true;
}
console.log(openNclose);
});
答案 0 :(得分:3)
您有一个if
语句,您可以在其中设置openNclose = false
,然后使用另一个if
语句进行操作,并检查是否openNclose == false
。这意味着您的代码将满足两个if
语句。
将其更改为else if
,甚至只更改为else
:
$(menuContainer).click(function() {
if (openNclose == true) {
$(menuContainer).css("height", "50px");
$(menuOpen).css("bottom", "50px");
openNclose = false; // setting openNclose to false here
} else { // this will only be hit if openNclose == false
$(menuContainer).css("height", "200px");
$(menuOpen).css("bottom", "200px");
openNclose = true;
}
console.log(openNclose);
});