今回は『slideToggle()』を使用したドロップメニューをご紹介します。まずは下のデモをお試し下さい。
○デモ
ボタンをおすと、隠れていたメニューが出てきましたね。それでは早速中身がどうなっているか見てみましょう。
○html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Webのタブの名前だよ!</title> <link rel="stylesheet" href="index.css"> </head> <body> <div class="div"> <p class="button">押してね</p> <ul class="menuBox"> <li class="menu">メニュー1</li> <li class="menu">メニュー2</li> <li class="menu">メニュー3</li> <li class="menu">メニュー4</li> </ul> </div> <script src="jquery-2.0.0.min.js"></script> <script src="common.js"></script> </body> </html>
○css
.div { background-color: #eaeaea; padding: 20px; height: 200px; } .button { display: block; width: 200px; margin: 0 auto; text-align: center; background-color: #3ceaff; color: white; } .menuBox { display: none; list-style: none; padding: 0; } .menu { text-align: center; width: 200px; background-color: orange; margin: 0 auto 4px; color: white; }
cssの解説です。
.div | .button | .menuBox | .menu |
background–color: #eaeaea; 背景色指定 |
background–color: #3ceaff; 背景色指定 |
display: none; 表を隠しておく |
background–color: orange; 背景色を指定 |
padding 余白指定 |
color: white; 文字色指定 |
list–style: none; ul要素の初期スタイルをリセット |
color: white; 文字色指定 |
height 全体の高さ指定 |
ボタンの大きさを指定したいため display: block; |
padding: 0; ul要素の初期スタイルをリセット |
width メニューの大きさ指定 |
width ボタンの大きさ指定 |
margin: 0 auto 4px; 中央寄せと要素間に4pxの隙間を指定 |
||
margin: 0 auto; ボタンの中央寄せ |
text–align: center; ボタン内の文字の中央寄せ |
||
text–align: center; ボタン内の文字の中央寄せ |
<ポイント>
・文字の中央寄せとボックスの中央寄せ
・メニューを最初に隠しておくこと
○jquery
$(function() { $('.button').click(function () { $('.menuBox').slideToggle(); }); });
jquery解説
・「.button」というクラスをクリックしたら、「.menuBox」というクラスをスライドして表示させる
※「.menuBox」を最初に表示させておくと、クリックで閉じます。
短いコードでも、面白いことができるみたでいですね~。今回は以上です!
ps
今まで画像乗っけてましたが、コード書けばブログ上で動かせることに気づいた。なぜ今まで気づかなかったんや…