折りたたまれた状態のときに、Twitterブートストラップレスポンシブナビゲーションバー内のナビゲーションリンクの可視性を検出する際に問題が発生します。
問題の根本は、.collapsed divにoverflow:hiddenルールが設定されていることです。これは、ナビゲーションulの次元がゼロ以外であっても、.collapseコンテナの高さがゼロであるため(閉じた状態でスタイル属性に設定されているため)、非表示のままであることを意味します。
問題は、#some-nav-linkが.nav ulのliアイテムの1つである場合、要素がオーバーフローによって隠されています。
これを説明できる要素の可視性をチェックするための絶対確実な方法はありますか?
li $ .fn.offset()メソッドを使用してelementFromPointに依存しようとしましたが、たとえばliにパディングがある場合、たとえばelementFromPointがliの親の1つを返す場合には十分ではありません。
注-私のコードは関連するウェブサイトのサードパーティコードであるため、ナビゲーションバーの動作を変更することはできません。
重要な更新 Twitterのブートストラップの崩壊がどのように機能するかという仕組みに依存しないソリューションを探しています。これは、overflow:hidden要素の子のオーバーフロー部分にある要素の可視性を決定する問題の一般的な解決策です。これを、この質問を引き起こした具体的な問題に結び付けたほうがよいと感じましたが、現在の質問が混乱していると思われる場合は、それに応じて修正することを歓迎します。ただし、この更新で十分であることを願っています。
読んでくれてありがとう、私はいくつかの賢い解決策を楽しみにしています!
これは、折りたたまれたときに:visibleがtrueを返すチェックを示すフィドルです -http://jsfiddle.net/VDR3Y/