0

次のコードを使用して、.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;
    });
}
4

2 に答える 2

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;
    }
});
于 2013-04-20T14:38:32.753 に答える