[jQuery] ドロップダウンメニュー
2011.6.15記 |
今回は、jQuery のプラグインの jquery.droppy.js を利用したドロップダウンメニューの設置に挑戦してみました。 jquery.droppy.js のダウンロードはこちらから http://plugins.jquery.com/project/droppy 参考: http://www.css-lecture.com/log/javascript/jquery-droppy-menu.html |
jquery.droppy.js の設置サンプル
JavaScript, CSS
<script src="http://www.google.com/jsapi"></script> <script type="text/javascript">google.load("jquery", "1");</script> <script type='text/javascript' src='./files/js/jquery.droppy.js'></script> <link rel="stylesheet" href="./files/js/droppy.css" type="text/css" /> <script type="text/javascript"><!-- $(function() { $('#nav').droppy(); }); //--></script>オプションでドロップダウンするスピードを変更できます。
デフォルトのスピードは 250(ミリ秒) になっています。
$('#nav').droppy();
↓ 上記の部分を下記のようにオプションを設定するとゆっくりドロップダウンします。
$('#nav').droppy({speed:1000});
メニューが下りてくる(slideDown)スピードと上がる(slideUp)スピードは同じです。別々に設定することはできません。
HTML
<ul id='nav'> <li><a href='#'>Top level 1</a></li> <li><a href='#'>Top level 2</a> <ul> <li><a href='#'>Sub 2 - 1</a></li> <li> <a href='#'>Sub 2 - 2</a> <ul> <li> <a href='#'>Sub 2 - 2 - 1</a> <ul> <li><a href='#'>Sub 2 - 2 - 1 - 1</a></li> <li><a href='#'>Sub 2 - 2 - 1 - 2</a></li> <li><a href='#'>Sub 2 - 2 - 1 - 3</a></li> <li><a href='#'>Sub 2 - 2 - 1 - 4</a></li> </ul> </li> <li><a href='#'>Sub 2 - 2 - 2</a></li> <li> <a href='#'>Sub 2 - 2 - 3</a> <ul> <li><a href='#'>Sub 2 - 2 - 3 - 1</a></li> <li><a href='#'>Sub 2 - 2 - 3 - 2</a></li> <li><a href='#'>Sub 2 - 2 - 3 - 3</a></li> <li><a href='#'>Sub 2 - 2 - 3 - 4</a></li> </ul> </li> </ul> </li> <li><a href='#'>Sub 2 - 3</a></li> </ul> </li> </ul>
上記で読み込んだ droppy.css の中身
/* Basic code - don't modify */ #nav { display: block; margin: 0; padding: 0; position: relative; } #nav li { display: block; list-style: none; margin: 0; padding: 0; float: left; position: relative; } #nav a { display: block; } #nav ul { display: none; position: absolute; left: 0; margin: 0; padding: 0; } * html #nav ul { line-height: 0; } /* IE6 "fix" */ #nav ul a { zoom: 1; } /* IE6/7 fix */ #nav ul li { float: none; } #nav ul ul { top: 0; } /* Essentials - configure this */ #nav ul { width: 130px; } #nav ul ul { left: 131px; } /* Everything else is theming */ #nav { background-color: #30A8C3; height: 24px; } #nav *:hover { background-color: none; } #nav a { border-right: 1px solid white; color: white; font-size: 12px; padding: 6px; line-height: 1; } #nav li.hover a { background-color: #5E5A5A; } #nav ul { top: 25px; } #nav ul li a { background-color: #5E5A5A; } #nav ul a.hover { background-color: #30A8C3; } #nav ul a { border-bottom: 1px solid white; border-right: none; opacity: 0.9; filter: alpha(opacity=90); } /* #nav ul a { border-bottom: none; } - I also needed this for IE6/7 */マウスカーソルがメニューの上にマウスオーバーした時の class="hover" の設定は jquery.droppy.js 内で行っています。
これはjQueryを利用したドロップダウンメニューの一例にしかすぎません。 「jQuery ドロップダウン」で探すといろいろ出てきます。 以下のサイトなども参考になるかと思われます。 http://vandelaydesign.com/blog/web-development/jquery-drop-down-menus/ |
2011.07.15 [jQuery] ドラッグ&ドロップ リスト並べ替え |
2011年 |
2011.05.15 FireFox アドオン |