なるべく簡単に実装できる画像を用いたドロップダウンメニュー
jQueryを使ったドロップダウンメニューのサンプルは巷にあふれているのですが、メニューに画像が使ったものが少ないな。と思ったので、今後の勉強を兼ねて、なるべく簡単に(script部分をいじったりしないで)実装できる画像付ドロップダウンメニューを作成してみました。
(実装方法)
まずは下記をダウンロードし解凍
次にjQueryもダウンロード
>>jQuery
※ページ真ん中ら辺の Current Release というところから最新のをダウンロードすればOKと思います。(今回のサンプルは var 1.4.2 を使用。
<head>内に読み込み(jQueryファイルは適宜書き換えてください)
<script type="text/javascript" src="js/jquery-1.4.2.js" charset="UTF-8"></script>
<script type="text/javascript" src="js/menu.js" charset="UTF-8"></script>
<link href="css/menu.css" rel="stylesheet" type="text/css">
後は下記のサンプルHTMLに従ってHTMLをコーディングするだけです。
<div id="gwMenu">
<ul id="gwMainMenu">
<li><a href="index.html"><img src="[画像のパス]" id="[画像のパスから .jpg を削除したもの]" alt="" width="画像の幅" height="画像の高さ"></a>
<ul class="gwSubMenu">
<li><a href="">サブメニュー1</a></li> <li><a href="">サブメニュー2</a></li>
</ul>
</div>
大切な約束事は下記の点です。
1.メインメニューの画像のロールオーバー(マウスポインタを載せると画像が変わる)について
→ ロールオーバー前の画像が img.jpg だとすると、ロールオーバー後の画像は imgRO.jpg という名前にすること。(ファイル名に[RO]をつける。)
→ 同じフォルダに保存すること
→
メインメニューのimgタグには幅と高さを指定すること
→ 画像はすべて同じ大きさに統一すること
2.サブメニューのスタイルを変更したい場合は「menu.css」の中身の /*サブメニューのスタイル*/ より下をいじってください。単純な構造です。
3.メインメニューの数はいくつ設置してもらっても大丈夫と思います。(親要素の幅以上は難しいかも)
以上が設置手順です。
ちなみに下記に実装サンプルコードと表示サンプルを記載します。
<div id="gwMenu">
<ul id="gwMainMenu">
<li><a href="index.html"><img src="img/menu1.jpg" id="img/menu1" alt="HTML" width="107" height="32"></a>//画像めにゅーを指定(widthとheightは忘れない事)
<ul class="gwSubMenu">
<li><a href="index.html">body</a></li> //ドロップダウンするメニューを指定
<li><a href="index.html">table</a></li>
<li><a href="index.html">form</a></li>
<li><a href="index.html">style</a></li>
<li><a href="index.html">meta</a></li>
</ul>
</li>
<li><a href="index.html"><img src="img/menu2.jpg" id="img/menu2" alt="php" width="107" height="32"></a>
<ul class="gwSubMenu">
<li><a href="index.html">zend</a></li>
<li><a href="index.html">smarty</a></li>
<li><a href="index.html">cake</a></li>
</ul>
</li>
<li><a href="index.html"><img src="img/menu3.jpg" id="img/menu3" alt="javascript" width="107" height="32"></a>
<ul class="gwSubMenu">
<li><a href="index.html">jQuery</a></li>
<li><a href="index.html">prototype</a></li>
<li><a href="index.html">Rico</a></li>
</ul>
</li>
<li><a href="index.html"><img src="img/menu4.jpg" id="img/menu4" alt="css" width="107" height="32"></a>
<ul class="gwSubMenu">
<li><a href="index.html">charset</a></li>
<li><a href="index.html">resetstyle</a></li>
<li><a href="index.html">id</a></li>
<li><a href="index.html">class</a></li>
<li><a href="index.html">Cross-Browser</a></li>
</ul>
</li>
<li><a href="index.html"><img src="img/menu5.jpg" id="img/menu5" alt="sql" width="107" height="32"></a>
<ul class="gwSubMenu">
<li><a href="index.html">mySQL</a></li>
<li><a href="index.html">postgreSQL</a></li>
<li><a href="index.html">SQLite</a></li>
</ul>
</li>
</ul>
</div>
表示サンプル
ここにコンテンツを書く
動作チェック:
IE6、IE7、IE8、Firefox、chrome、、、
補足とか言い訳:
サブメニューがちょっとずれているのは、私が作成したメインメニュー画像が余白コミでちょっとずれているからです。