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とコードはほぼ同じです。
サンプル
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 id="container">
<div id="content">
<p>jQueryで縦に展開するツリーメニューのサンプルです</p>
<!--content--></div>
<div class="treemenu">
<p class="lv1btn">tree btn</p>
<div class="lv1body">
<p class="lv2btn"><img src="guide.png" alt="">tree btn 2</p>
<div class="lv2body">
<p class="lv3btn"><img src="guide.png" alt="">tree btn 3</p>
<div class="lv3body">
<p><img src="guide.png" alt=""><a href="#">link btn</a></p>
<p><img src="guide2.png" alt=""><a href="#">link btn</a></p>
</div>
<p><img src="guide2.png" alt=""><a href="#">link btn</a></p>
</div>
<p><img src="guide2.png" alt=""><a href="#">link btn</a></p>
</div>
<p class="lv1btn">tree btn</p>
<div class="lv1body">
<p class="lv2btn"><img src="guide.png" alt="">tree btn 2</p>
<div class="lv2body">
<p><img src="guide.png" alt=""><a href="#">link btn</a></p>
<p><img src="guide2.png" alt=""><a href="#">link btn</a></p>
</div>
<p><img src="guide.png" alt=""><a href="#">link btn</a></p>
<p><img src="guide2.png" alt=""><a href="#">link btn</a></p>
</div>
<p class="lv1btn">tree btn</p>
<div class="lv1body">
<p><img src="guide.png" alt=""><a href="#">link btn</a></p>
<p><img src="guide.png" alt=""><a href="#">link btn</a></p>
<p class="lv2btn"><img src="guide2.png" alt="">tree btn 2</p>
<div class="lv2body">
<p><img src="guide.png" alt=""><a href="#">link btn</a></p>
<p><img src="guide2.png" alt=""><a href="#">link btn</a></p>
</div>
</div>
<p class="lv1btn">tree btn</p>
<div class="lv1body">
<p class="lv2btn"><img src="guide2.png" alt="">tree btn 2</p>
<div class="lv2body">
<p><img src="guide.png" alt=""><a href="#">link btn</a></p>
<p><img src="guide2.png" alt=""><a href="#">link btn</a></p>
</div>
</div>
<p class="lv1btn">tree btn</p>
<div class="lv1body">
<p><img src="guide.png" alt=""><a href="#">link btn</a></p>
<p><img src="guide2.png" alt=""><a href="#">link btn</a></p>
</div>
<p class="lv1btn"><a href="#">link btn</a></p>
<!--treemenu--></div>
<!--container--></div>
CSS
* {
box-sizing: border-box;
}
#container {
width: 960px;
margin: 0 auto;
overflow: hidden;
background: #fff;
}
#content {
float: right;
width: 704px;
text-align: left;
}
#content p {
padding: 10px 20px;
}
.treemenu {
float: right;
width: 256px;
border-right: 1px solid #ccc;
}
/*階層1*/
.treemenu .lv1btn {
cursor: pointer;
padding: 5px 10px;
}
.treemenu .lv1body {
display: none;
padding: 0 10px 5px 10px;
}
.treemenu .lv1body a {
line-height: 2.0;
}
/*階層2*/
.treemenu .lv1body .lv2btn {
cursor: pointer;
padding: 5px 10px 5px 0;
}
.treemenu .lv1body .lv2body {
display: none;
padding: 0 10px 5px 10px;
}
.treemenu .lv1body .lv2body a {
line-height: 2.0;
}
/*階層3*/
.treemenu .lv1body .lv3btn {
cursor: pointer;
padding: 5px 10px 5px 0;
}
.treemenu .lv1body .lv2body .lv3body {
display: none;
padding: 0 10px 5px 10px;
}
.treemenu .lv1body .lv2body .lv3body a {
line-height: 2.0;
}
JavaScript
$(function() {
$(".treemenu .lv1btn,.treemenu .lv1body .lv2btn,.treemenu .lv1body .lv2body .lv3btn").click(function() {
$(this).next().slideToggle(100);
});
});
Result
関連リンク
【Labs】CSSだけでサイズ可変・スマホ対応のツリーメニュー