2016-05-09 33 views
0

clickイベントを使用してdisplay:noneを追加した後にドロップダウンメニューを表示できないという非常に厳しい問題が発生しています。私は以前にホバーイベントでそれを追加しようとしましたが、それは特定のブラウザーで常に起動するように見えましたので、私はそれを放棄して完全に立ち往生しました。次のコードでは、表示プロパティが切り替わった後、再びドロップダウンを正しく表示する方法を説明します。jQueryで表示後に要素を正しく表示する方法:なし

私は以前同様の質問をしてお詫びをしていますが、以前はこの問題を本当に理解していませんでした。もし私がラインから外れていたら、私はお詫びしますが、私は本当に立ち往生しています。どんな助けでも大歓迎です。

+1

あなたがcss/htmlコードを投稿した方がよいでしょう。 –

答えて

0

は、show()関数を使用してみてください:

$(document).ready(function() { 
    $('li.active ul.sub-menu.dropdown a').click(function() { 
     if($("li.active ul.sub-menu.dropdown").css("display", "block")){ 
      $("li.active ul.sub-menu.dropdown").hide(); 
     } 
     else if($("li.active ul.sub-menu.dropdown").css("display", "none")){ 
      $("li.active ul.sub-menu.dropdown").show(); 
    }); 
}); 
+0

あなたの 'if'は決して偽ではありません:http://api.jquery.com/css/#css2。 – leaf

1

はあなただけ.toggle()を使用しようとしたことがありますか?要素は、次に、トグル表示プロパティ表示され、場合

$(document).ready(function() { 
    $('li.active ul.sub-menu.dropdown a').click(function() { 
     $("li.active ul.sub-menu.dropdown").toggle(); 
    }); 
}) 

それは自動的にチェックします。

+0

これは最初は機能しますが、ドロップダウンの項目をクリックするとメニューは再び表示されません。私はWindowsとFFのChromeでのみ問題に取り掛かりました。それは私を怒らせています。私はこの時点で他の何かが原因であると推測しています。私は提供された他のすべての提案を試みました、そして、私は主に同じ結果を得ます。 このページには何が起こるはずですか:http://development.maclynutility.com/littlefriends/childrens-servicesユーザーはサブメニューを上下にナビゲートできなくてはならず、私は取得方法についていません起こること。 – Brent

+0

.toggleを使用すると、すべてのブラウザで問題が発生するようです。もともと投稿したコードではなく、サイトで実装しました。 – Brent

0

私は、一般に、CSSでクラスを追加することでこのようなことをするのが良いと思います。 )()と.hideを(.SHOW使用して、もちろん

.show { 
    display:block; 
} 

も実行可能である:

$(document).ready(function() { 
$('li.active ul.sub-menu.dropdown a').click(function() { 
    $("li.active ul.sub-menu.dropdown").toggleClass("show"); 
}); 
}); 

とCSSの:あなたはこのような何かを行うことができます。それは単にあなたにコントロールを与えません。

関連する問題