menu
menu

キーワード検索

 

前月(10月)の人気記事トップ10

  1. ( 1 - ) 【CSS】CSSだけでドロップダウンメニュー
  2. ( 2 - ) 【Mac】Macのユーザー名とアカウント名を変更する
  3. ( 3 - ) 【jQuery】jQueryでドロップダウンメニュー
  4. ( 4 - ) 【CSS】スマホ対応CSSだけでドロップダウンメニュー
  5. ( 8 ↑) 【iPhone・iPad】投稿の準備中にエラーが起きました。後でやり直してください。
  6. (10 ↑) 【iPhone・iPad】iPhoneのメモリを簡単に解放する方法
  7. ( 5 ↓) 【PHP】PHPでシンプルなメールフォーム
  8. ( 6 ↓) 【CSS】レスポンシブデザインのブレークポイントは⁉
  9. ( - ↑) 【jQuery】入門2. jQueryをHTMLに組み込む
  10. ( - ↑) 【Mac】iMovieの保存場所を変更する
このエントリーをはてなブックマークに追加

【jQuery】タブ移動もできるドロップダウンメニュー

【jQuery】タブ移動もできるドロップダウンメニュー

こんにちは(・∀・)

ユーザビリティを考慮したタブ移動もできるドロップダウンメニューのサンプルをご紹介します。

Contents

  1. タブ移動もできる横並びドロップダウンメニュー
  2. タブ移動もできる縦並びドロップダウンメニュー
1. タブ移動もできる横並びドロップダウンメニュー

ナビゲーションが横に並んでいるドロップダウンメニューのサンプルです。

サンプル
HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<ul class="nav">
<li><a href="#">Home</a>
</li>
<li><a href="#">Strategy</a>
<ul>
<li><a href="#">b1</a></li>
<li><a href="#">b1</a>
</li>
</ul>
</li>
<li><a href="#">About</a>
<ul>
<li><a href="#">c1</a>
</li>
<li><a href="#">c1</a></li>
</ul>
</li>
<li><a href="#">Works</a>
<ul>
<li><a href="#">d1</a></li>
<li><a href="#">d1</a>
</li>
</ul>
</li>
<li><a href="#">Contact</a>
<ul>
<li><a href="#">e1</a>
</li>
<li><a href="#">e1</a>
</li>
</ul>
</li>
<!--nav--></ul>
<div class="content">
<p>タブ移動もできる横並びドロップダウンメニューのサンプルです。メニュー部分にマウスオーバーするかタブキーを使ってメニュー部分を移動するとコンテンツの上に子メニューが展開します。</p>
</div>
CSS

.nav {
  overflow: hidden;
  width: 750px;
  margin: 0 auto;
  padding: 0;
  display: flex;
}
.nav li {
  list-style: none;
}
.nav li a {
  display: block;
  width: 150px;
  height: 40px;
  text-align: center;
  color: #fff;
  font-size: 14px;
  line-height: 2.8;
  background: #9fb7d4;
  text-decoration: none;
  border-right: 1px solid #eee;
  box-sizing: border-box;
}
.nav > li:hover > a {/*layer-1*/
  color: orange;
  background: #afc6e2;
}
.nav li ul {
  width: 150px;
  display: none;
  margin-left: -40px;
  position: absolute;
}
.nav > li li:hover > a {/*layer-2*/
  color: olive;
  background: #afc6e2;
}
.nav li ul li a {
  border-top: 1px solid #eee;
}
.content {
  width: 750px;
  height: 200px;
  background: #eee;
  margin: 0 auto;
  padding: 10px;
  text-align: left;
  box-sizing: border-box;
}
JavaScript

$(function() {
var nav = $('.nav');
$('li', nav)
.on('mouseover focusin', function() {
$('ul', this).stop().slideDown('fast');
})
.on('mouseout focusout', function() {
$('ul', this).stop().slideUp('fast');
});
});
Result

サンプルデモはこちら

2. タブ移動もできる縦並びドロップダウンメニュー

ナビゲーションが縦に並んでいるドロップダウンメニューのサンプルです。

サンプル
HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<div class="container">
<ul class="nav">
<li><a href="#">Home</a>
</li>
<li><a href="#">Strategy</a>
<ul>
<li><a href="#">b1</a></li>
<li><a href="#">b1</a>
</li>
</ul>
</li>
<li><a href="#">About</a>
<ul>
<li><a href="#">c1</a>
</li>
<li><a href="#">c1</a></li>
</ul>
</li>
<li><a href="#">Works</a>
<ul>
<li><a href="#">d1</a></li>
<li><a href="#">d1</a>
</li>
</ul>
</li>
<li><a href="#">Contact</a>
<ul>
<li><a href="#">e1</a>
</li>
<li><a href="#">e1</a>
</li>
</ul>
</li>
<!--nav--></ul>
<div class="content">
<p>タブ移動もできる縦並びドロップダウンメニューのサンプルです。メニュー部分にマウスオーバーするかタブキーを使ってメニュー部分を移動するとコンテンツの上に子メニューが展開します。</p>
</div>
<!--container--></div>
CSS

.container {
  width: 750px;
  margin: 0 auto;
  display: flex;
}
.container .nav {
  width: 150px;
  height: 40px;
  margin: 0;
}
.container .nav li {
  width: 150px;
  height: 40px;
  text-align: center;
  list-style: none;
}
.container .nav li a {
  display: block;
  width: 150px;
  height: 40px;
  background: #9fb7d4;
  color: #fff;
  font-size: 14px;
  line-height: 2.8;
  text-decoration: none;
  border-top: 1px solid #eee;
  box-sizing: border-box;
}
.container .nav > li:hover > a {/*layer-1*/
  color: orange;
  background: #afc6e2;
}
.container .nav li ul {
  width: 150px;
  display: none;
  position: relative;
  top: -40px;
  left: 110px;
}
.nav > li li:hover > a {/*layer-2*/
  color: olive;
  background: #afc6e2;
}
.container .content {
  width: 600px;
  height: 250px;
  background: #eee;
  padding: 10px;
  box-sizing: border-box;
}
JavaScript

$(function() {
var nav = $('.nav');
$('li', nav)
.on('mouseover focusin', function() {
$('ul', this).stop().slideDown('fast');
})
.on('mouseout focusout', function() {
$('ul', this).stop().slideUp('fast');
});
});
Result

サンプルデモはこちら

 

にほんブログ村 IT技術ブログ JavaScriptへ

関連リンク

【CSS】CSSだけでドロップダウンメニュー
【jQuery】jQueryでドロップダウンメニュー

  • jQuery タブ移動 ドロップダウンメニュー
このエントリーをはてなブックマークに追加