-6

要素が表示されているかどうかを検出し、それに関数を割り当てようとしています:

メニューボタンがボタンで表示された後、どこかをクリックしてメニューを非表示にし、ボタンを再表示したい。

if ($('ul.site-nav.actual-navigation').css('display') == 'block') {
    $(document).click(function() {
        $('ul.site-nav.actual-navigation').hide();
        $('button.nav-mobile-switch').show();
    });

}

$('element:visible')$('element').is(':visible')メソッドも試しました。

疑似セレクター:visibleが関数で機能しないことをどこかで読みましたが、ここの例では、どこかをクリックしても要素が非表示になりません。

私は何を間違えましたか?

http://jsfiddle.net/Kyle_Sevenoaks/yuAhb/

4

4 に答える 4

0

行う

$('ul.site-nav.actual-navigation').live('click', function(e) {
  if ($(e.target).css('display') == 'block') {
    //code
  }
});
于 2013-06-25T13:23:21.917 に答える
-1

可視セレクターを使用できますが、関数は可視性属性では機能しません.:-

$('element:visible')

だから、これを試すことができます。if 条件を削除して、これを使用します:-

$(document).click(function () {
     $('ul.site-nav.actual-navigation').hide();
     $('button.nav-mobile-switch').show();
 });

メニューが非表示になり、ボタンが表示されます。

このフィドルを参照してください

于 2013-06-25T13:17:04.960 に答える