0

メニューパネルにいくつかのメニューボタンがあります。各ボタンはcss:box(100px 100px)を開きます。今、あるボックスをクリックすると開き、別のボックスをクリックすると、前のボックスを開いて同時に閉じます。

$(document).ready(function(){
    //this is click anywhere function
     $(document).click(function(e) {
    var target = e.target;

    if (!$(target).is('li.faq')) {
        $('#faq_container').hide();
    }
    });
    });

これを達成できる一般的な方法はありますか?クラス内の要素が開いているかどうかを確認してから選択的に閉じるのではなく?

$('html').click() 関数を使用しましたが、ボックスを開く前にボックスを閉じてしまいます!

4

1 に答える 1

0

メニューの状態をリセットする関数を作成し、クリック ハンドラーの先頭で呼び出します。

何かのようなもの

function clear(){
  $('#faq_container').hide();
  //hide everything else here
}

次に、新しい css ボックスを開く前に clear() を実行します。

于 2013-07-11T09:51:09.307 に答える