当我尝试存储一个变量时它不起作用?
When I try and store a variable it does not work?
var cl = 0;
var menu = function(){
if(cl === 0){
$('.menu_nav').animate({left: '0px'}, 200);
$('body').animate({left: '285px'}, 200);
var cl = cl + 1;
console.log("First " + cl);
}else{
$('.menu_nav').animate({left: '-285px'}, 200);
$('body').animate({left: '0px'}, 200);
var cl = cl - 1;
console.log("Second " + cl);
};
};
$(document).ready(function(){
$('.menu-btn').on('click', function(){
$(menu);
});
});
我试图让菜单按钮在单击时打开侧面板,但再次单击时应该将其关闭。我试过 += 和 =+ 都不起作用。我不知道我应该做什么。每次我点击它时它都会打印出 "first 1" ,它永远不会像它应该的那样去其他地方。
//问题解决了我在函数内部声明了一个变量所以每次都是0。现在我将 cl 放在函数之外,它工作得很好,因为它现在可以存储一个变量并进行更改,而不是每次调用该变量时都设置为 0。
每次执行功能菜单时,cl 的值都会重置为 0。尝试使用全局变量,例如在 var menu = function(){
之前声明 var cl = 0;
并在函数内部更改所有 var cl
到 cl
。您也可以检查此 Fiddle 的逻辑。
var cl = 0;
var menu = function(){
if(cl === 0){
$('.menu_nav').animate({left: '0px'}, 200);
$('body').animate({left: '285px'}, 200);
var cl = cl + 1;
console.log("First " + cl);
}else{
$('.menu_nav').animate({left: '-285px'}, 200);
$('body').animate({left: '0px'}, 200);
var cl = cl - 1;
console.log("Second " + cl);
};
};
$(document).ready(function(){
$('.menu-btn').on('click', function(){
$(menu);
});
});
我试图让菜单按钮在单击时打开侧面板,但再次单击时应该将其关闭。我试过 += 和 =+ 都不起作用。我不知道我应该做什么。每次我点击它时它都会打印出 "first 1" ,它永远不会像它应该的那样去其他地方。
//问题解决了我在函数内部声明了一个变量所以每次都是0。现在我将 cl 放在函数之外,它工作得很好,因为它现在可以存储一个变量并进行更改,而不是每次调用该变量时都设置为 0。
每次执行功能菜单时,cl 的值都会重置为 0。尝试使用全局变量,例如在 var menu = function(){
之前声明 var cl = 0;
并在函数内部更改所有 var cl
到 cl
。您也可以检查此 Fiddle 的逻辑。