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);
});
});
点击时我试图让菜单按钮打开侧面板,但再次点击时应关闭它。我试过+ =和= +都没有工作。我对自己应该做的事情一无所知。它打印出来"第一个"每次我点击它,它都不会像它应该的那样去。
//问题解决了我在函数内声明了一个变量,所以每次都是0。现在我将cl放在函数之外并且它工作得很好,因为它现在可以存储变量并在每次调用变量时更改而不是设置为0.
答案 0 :(得分:1)
每次执行功能菜单时,cl的值都会重置为0.尝试使用全局变量,例如在var cl = 0;
之前声明var menu = function(){
并在函数内部更改所有{{1}到var cl
。您也可以查看此Fiddle以获取逻辑。