9月更新・前月(8月)の人気記事トップ10 09/02/2024
- ( 01 – ) 【Labs】position:absoluteとwidth:100%を指定すると横幅の設定がうまくいかない場合の対処方法について
- ( 07 ↑) 【Mac】macOSをHigh SierraからMontereyにアップグレード
- ( 03 – ) 【Mac】横画面で撮影した動画をYouTubeショート用にMacのiMovieで縦画面に編集する方法
- ( 10 ↑) 【iPhone / iPad】iPhoneのツイッターアプリでユーザー名をコピーする方法
- (圏外↑) 【Labs】CSSだけでドロップダウンメニュー
- ( 02 ↓) 【jQuery】入門2. jQueryをHTMLに組み込む
- ( 09 ↑) 【Mac】Safariでソースコードを見る方法
- ( 04 ↓) 【jQuery】入門7. jQueryで新しいWindowを開く
- ( 06 ↓) 【2024年5月】iPad画面解像度まとめ
- (圏外↑) 【GIMP】レイヤーをロック
【Labs】jQueryでドロップダウンメニュー
こんにちは(・∀・)
jQueryを使用したサンプルをご紹介します。今回はドロップダウンメニューです。
jQueryでドロップダウンメニュー
1. 横並びドロップダウンメニュー
ナビゲーションが横に並んでいるドロップダウンメニューのサンプルです。
Google Hosted LibrariesからjQuery 1.x snippetを<head>
内に読み込みます。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
HTML
<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>
<!--sample-demo--></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)
.mouseover(function(e) {
$('ul', this).stop().slideDown('fast');
})
.mouseout(function(e) {
$('ul', this).stop().slideUp('fast');
});
});
Result
2. 縦並びドロップダウンメニュー
ナビゲーションが縦に並んでいるドロップダウンメニューのサンプルです。
Google Hosted LibrariesからjQuery 1.x snippetを<head>
内に読み込みます。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
HTML
<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)
.mouseover(function(e) {
$('ul', this).stop().slideDown('fast');
})
.mouseout(function(e) {
$('ul', this).stop().slideUp('fast');
});
});
Result
関連リンク
【Labs】タブ移動もできるドロップダウンメニュー
【Labs】CSSだけでドロップダウンメニュー