サブメニューが垂直にドロップダウンする CSS3 で 3 レベルのドロップダウン メニューを作成します。すべて問題ありません。唯一の問題は、メニュー ( .main-menu > li
-> 以下のコードを参照) が画面の右側に近すぎる場合、サブメニューの一部が画面から「はみ出して」消えることです。見えない。
画面の端に近すぎる場合は、現在のサブメニューのフローティング方向を変更して、jQuery を使用してメニューを改善したいと考えています。私はjQueryの初心者なので、少し手伝ってもらえますか?
HTML の主な構造は次のとおりです。
<nav>
<ul class="main-menu">
<li><a href="#">Menu Point 1</a>
<ul>
<li><a href="#">Menu Point 1.1</a>
<ul>
<li><a href="#">Menu Point 1.1.1</a></li>
<li><a href="#">Menu Point 1.1.2</a></li>
....
</ul>
</li>
<li><a href="#">Menu Point 1.2</a></li>
....
</ul>
</li>
<li><a href="#">Menu Point 2</a>
<ul>
<li><a href="#">Menu Point 2.1</a>
<ul>
<li><a href="#">Menu Point 2.1.1</a></li>
<li><a href="#">Menu Point 2.1.2</a></li>
....
</ul>
</li>
<li><a href="#">Menu Point 2.2</a></li>
....
</ul>
</li>
.....
</ul>
</nav>
私が見る限り、jQuery は次のことを行う必要があります。
第 1 レベルのサブメニュー + 第 2 レベルのサブメニューの幅 (x) を測定します。
.main-menu > li
画面の左側の位置と右側の位置の間の距離を測定します (y)if (y-x)<0 { float the submenus to the left (by default they float to the right); }
どのように始めればよいか、何か提案はありますか?