Javascript Can';不要使用jQuery更改CSS底部
我很难让“其他”部分正常工作。有人知道问题出在哪里吗Javascript Can';不要使用jQuery更改CSS底部,javascript,jquery,Javascript,Jquery,我很难让“其他”部分正常工作。有人知道问题出在哪里吗 var navOpen = false; if (navOpen == false) { $("nav").click(function() { $(this).css("bottom","0"); navOpen = true; });
var navOpen = false;
if (navOpen == false) {
$("nav").click(function() {
$(this).css("bottom","0");
navOpen = true;
});
} else {
$("nav").click(function() {
$(this).css("bottom","-84");
navOpen = false;
});
}
试一试
$(this).css("bottom","-84px");
如果要将多个处理程序绑定到同一元素,可以使用
css
方法:
$("nav").click(function() {
$(this).css("bottom", function(i, bottom) {
return bottom === '0px' ? '-84px' : '0px';
// return navOpen ? '-84px' : '0px';
});
})
您需要定义计量(例如px,%)。CSS不支持像HTML属性那样只计算参数。条件位于错误的位置
var navOpen = false;
$("nav").click(function() {
if (navOpen == false) {
$(this).css("bottom","0");
navOpen = true;
} else {
$(this).css("bottom","-84px");
navOpen = false;
}
});
代码的其余部分在哪里?您正在将
navOpen
设置为false,正好在if
之前,因此它将永远不会计算else位。您需要将-84指定为“px”或“%”。请告诉我。您丢失了单元(px)和绑定多次(非常糟糕)。他可能需要使用navOpen
变量执行更多操作,但这是一个优雅的解决方案+1次,效果非常好。不应该在深夜编写代码,事情让我头晕目眩。几分钟后我会接受的。哇,真不敢相信我没试过。谢谢我接受另一个答案,因为它解决了我遇到的另一个问题,但你得到了一张赞成票。