jQuery变量不';不要在功能之外改变
我使用以下代码在按下.sidebar toggle时显示侧栏,在按下#page时隐藏侧栏 显示侧边栏效果很好,但按下页面时不会隐藏。单击.sidebar切换时,变量似乎未设置为1jQuery变量不';不要在功能之外改变,jquery,variables,Jquery,Variables,我使用以下代码在按下.sidebar toggle时显示侧栏,在按下#page时隐藏侧栏 显示侧边栏效果很好,但按下页面时不会隐藏。单击.sidebar切换时,变量似乎未设置为1 var state = 0; if (state === 0) { $('.sidebar-toggle').click(function() { $('#page').animate({marginLeft: '230px'}, 400); state = 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;
});
}
你忘了使用#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;
}
});
可能是因为这从未执行过
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;
}
});
它会触发。侧边栏切换点击,而不是页面点击——对吗?你能包括你的相关HTML吗?代码只运行一次。所以状态===1将永远不会被执行。。。