2016-07-12 1 views
0
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); 
    }); 
}); 

私は、メニューボタンをクリックするとサイドパネルを開くようにしようとしていますが、もう一度クリックすると閉じます。私は+ =と= +どちらもうまくいきませんでした。私は私が何をすべきかについて断ります。私はそれをクリックするたびに "最初の1"を印刷します。私は変数を保存しようとすると動かないのですか?

//問題は解決しました。関数内で変数を宣言していたので、毎回0になるようにしました。今は関数の外にclを置いて、変数が呼び出されるたびに変数を保存して0に設定するのではなく変更できるようになりました。

+0

なぜ機能を呼び出さないのですか? – Li357

+0

@AndrewL。なぜなら、ドキュメントの準備が整い次第、メニューボタンをクリックするたびにそれが起こるからです。 –

+2

変数を '0'に設定し、次の行に' 0'があるかどうかを確認します。どうすれば '0'になりますか? –

答えて

1

機能メニューはCLの値を実行するたびにvar cl = 0;var menu = function(){前にそして、あなたの機能変更のすべてvar clclに内部で宣言するように、グローバル変数を使用して0にしようとするリセット編です。ロジックについてもFiddleをチェックすることができます。

関連する問題