我在按下.sidebar-toggle时使用以下代码显示侧边栏,并在按下#page时隐藏侧边栏。
显示侧边栏工作正常,但在按下#page时不会隐藏。单击.sidebar-toggle时,看起来变量未设置为1。
var state = 0;
if (state === 0) {
$('.sidebar-toggle').click(function() {
$('#page').animate({marginLeft: '230px'}, 400);
state = 1;
});
}
if (state === 1) {
$('#sidebar').click(function() {
$('#page').animate({marginLeft: '0'}, 400);
state = 0;
});
}
答案 0 :(得分:1)
你忘了使用#page click.function ...而最好的办法就是将if放在click.function中......试试这种方式
var state = 0;
$('.sidebar-toggle').click(function() {
if (state===0) {
$('#page').animate({marginLeft: '230px'}, 400);
state = 1;
}
});
$('#page').click(function() {
if (state===1){
$('#page').animate({marginLeft: '0'}, 400);
state = 0;
}
});
答案 1 :(得分:0)
可能是因为这从未执行过
if (state === 1) {
$('#sidebar').click(function() {
$('#page').animate({marginLeft: '0'}, 400);
state = 0;
});
}
尝试这种方式 -
var state = 0;
$('.sidebar-toggle').click(function() {
if (state === 0) {
$('#page').animate({marginLeft: '230px'}, 400);
state = 1;
}
});
$('#page').click(function() {
if (state === 1) {
$('#page').animate({marginLeft: '0'}, 400);
state = 0;
}
});