ドロップメニュー【slideToggle()】

Pocket

今回は『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

backgroundcolor: #eaeaea;

背景色指定

backgroundcolor: #3ceaff;

背景色指定

display: none;

表を隠しておく

backgroundcolor: orange;

背景色を指定

padding

余白指定

color: white;

文字色指定

liststyle: none;

ul要素の初期スタイルをリセット

color: white;

文字色指定

height

全体の高さ指定

ボタンの大きさを指定したいため

display: block;

padding: 0;

ul要素の初期スタイルをリセット

width

メニューの大きさ指定

 

width

ボタンの大きさ指定

 

margin: 0 auto 4px;

中央寄せと要素間に4pxの隙間を指定

 

margin: 0 auto;

ボタンの中央寄せ

 

textalign: center;

ボタン内の文字の中央寄せ

 

textalign: center;

ボタン内の文字の中央寄せ

   

<ポイント>

・文字の中央寄せとボックスの中央寄せ

・メニューを最初に隠しておくこと

○jquery

$(function() {
  $('.button').click(function () {
    $('.menuBox').slideToggle();
  });
});					

jquery解説

・「.button」というクラスをクリックしたら、「.menuBox」というクラスをスライドして表示させる

※「.menuBox」を最初に表示させておくと、クリックで閉じます。

短いコードでも、面白いことができるみたでいですね~。今回は以上です!

ps

今まで画像乗っけてましたが、コード書けばブログ上で動かせることに気づいた。なぜ今まで気づかなかったんや…