2016-05-13 7 views
0

私はウェブサイト用のナビゲーションバーを作成しています。メインバーからドロップダウンリストへの2レベルのドロップダウンを作成する非常に簡単な方法が必要ですさらにドロップダウンレベル。複数レベルのドロップダウンを持つ最も単純なJQueryアニメーションのナビゲーションバー

私は追加のプラグインなしでJQueryを使用しています。

"Simplest"とは、コードの数が少なく、変数が最小であり、読み込み時間が最も速いということです。

hover()イベントを使用しようとしましたが、これは機能していないようです。ここで

は、HTMLの例です:

<div class="menu"> 
    <ul> 
     <li><a href="#">Link 1</a></li> 
     <li><a href="#">Link 2</a> 
      <ul class="sub"> 
       <li><a href="#">Sub 1</a> 
        <ul class="sub2"> 
         <li><a href="#">Sub 2</a></li> 
        </ul> 
       </li> 
      </ul> 
     </li> 
    </ul> 
</div> 

理想的には、「リンク2」の上にマウスを置くと、ダウン子リストのスライドを持っていますし、「サブ1」の上にマウスを移動すると、次のダウン子リストのスライドを持っていますそれに。

また、ほとんどのディメンションでパーセンテージを使用していますので、同じようにスケーリングした場合は非常に便利です。

これ以上の情報が必要な場合は、ダウン投票前にお尋ねください。

ありがとうございました。

答えて

0

ベストjQueryはjQueryではありません。

.menu input { 
 
    position: absolute; 
 
    left: -9999px; 
 
} 
 
.menu label { 
 
    cursor: pointer; 
 
    display: block; 
 
} 
 
.menu label:after { 
 
    content: '...'; 
 
} 
 
.sub { 
 
    display: none; 
 
} 
 
.menu label:hover+input+.sub, 
 
.menu input:checked+.sub, 
 
.sub:hover { 
 
    display: block; 
 
}
<div class="menu"> 
 
    <ul> 
 
     <li><a href="#">Link 1</a></li> 
 
     <li> 
 
      <label for="menu-2">Link 2</label> 
 
      <input type="checkbox" id="menu-2" /> 
 
      <ul class="sub"> 
 
       <li> 
 
        <label for="menu-2-1">Sub 1</label> 
 
        <input type="checkbox" id="menu-2-1" /> 
 
        <ul class="sub"> 
 
         <li><a href="#">Sub 2</a></li> 
 
        </ul> 
 
       </li> 
 
      </ul> 
 
     </li> 
 
    </ul> 
 
</div>

、必要に応じて、さらにCSSを追加します。

+0

これは機能しますが、アニメーションだけでなく、リンク自体が他のページに移動するため、マウスクリックではなくマウスオーバーでも機能します。 –

+0

ホバー機能を追加しましたが、リンクをクリックして(ただしリスト項目に)リンクを張ってアンカーすることができます。 'display:none'の代わりに' height:0'を設定し、 'display:block'の代わりに本当の高さを設定し、アニメーション化するために' transition:height'を追加するなどして、異なるCSSを使うことができます。 –

+0

「遷移:高さ」を実演できますか? –

関連する問題