0

divをクリックすると展開/折りたたまれるナビゲーションメニューを備えたサイドバーを作成しようとしています。

$(document).ready(function() {     
$('.btn-nav').click(function(){     
    $('.sidebar').addClass('expand');    
},     
function(){    
    $('.sidebar').removeClass('collapse');     
});
}); 

クリック機能をホバー機能に置き換えると、正常に機能します。しかし、今はうまくいきません。誰かが私が間違っていることを知っていますか?

4

2 に答える 2

1

これを行う必要があります:

$(document).ready(function () {
    $('.btn-nav').click(function () {
        $('.sidebar').toggleClass('expand').toggleClass('collapse');
    });
});

click() API ドキュメントを見ると、1 つの関数しか使用しないことがわかりますが、hover()は 1 つまたは 2 つのハンドラー関数を使用し、マウス ポインターが要素に出入りするときに実行されます。

于 2013-05-11T16:02:01.673 に答える
0

クリック イベントにはパラメーターがありません。以下のコードを使用できます。

$(document).ready(function() {
    var testMethod = function(event){
        if(event.data.flg == 0){
             $('.sidebar').addClass('expand');
             event.data.flg=1;
        }
        else {
            $('.sidebar').removeClass('collapse'); 
            event.data.flg=0;
        }
    };


    $('.btn-nav').on('click', {flg: 0}, testMethod);
}); 
于 2013-05-11T16:11:27.343 に答える