> JavaScript/jQuery > クリックするとトリガーが×になるドロワーメニュー
クリックするとトリガーが×になるドロワーメニュー

クリックするとトリガーが×になるドロワーメニュー

バーガーなどのトリガーに動きがあるとリッチな印象を与えるので、よく使うコードを置いておきます。

CSSだけでトリガーが変わるドロワーサンプル

案件によってはJavascriptが使えない場合もあるので、その場合は下記のようにチェックボックスのオン・オフでトリガーやメニューの開閉を切り替えます。

表示サンプル

開閉サンプルはこちら

HTML記述例

<div id="sample1">
    <input type="checkbox" id="sample1-trig" name="sample1-trig">
    <label for="sample1-trig">
        <u></u>
        <u></u>
        <u></u>
        <span>MENU</span>
        <div class="menu-list">
            <ul>
                <li>サンプル</li>
                <li>サンプル</li>
                <li>サンプル</li>
            </ul>
        </div>
    </label>
</div>

CSS記述例

#sample1 input{
    display: none;
}
#sample1 label{
    margin: 0;
    width: 50px;
    height: 50px;
    background: #eee;
    margin: 10px;
    padding: 5px 10px;
    text-align: center;
    cursor: pointer;
    position: relative;
}
#sample1 label u{
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 10px;
    margin: 5px auto;
    background: #000;
    transition: .5s all;
}
#sample1 input:checked + label u:nth-child(1){
    transform: translateY(8px) rotate(-45deg);
}
#sample1 input:checked + label u:nth-child(2){
    opacity: 0;
}
#sample1 input:checked + label u:nth-child(3){
    transform: translateY(-8px) rotate(45deg);
}
#sample1 span{
    font-size: 10px;
    line-height: 1;
    font-weight: bold;
    display: block;
}
#sample1 .menu-list{
    height: 0;
    width: 200px;
    overflow: hidden;
    background: #eee;
    transition: .5s all;
    z-index: -1;
    opacity: 0;
}
#sample1 input:checked + label .menu-list{
    height: auto;
    position: absolute;
    top: 50px;
    left: 0;
    z-index: 1;
    opacity: 1;
}

CSSとjQueryでトリガーが変わるドロワーサンプル

ドロワーの開閉をjQueryに頼っています。
トリガーの開閉はjQueryとCSSを利用しています。

jQueryが既に読み込まれている環境下でご利用ください。

表示サンプル

MENU

開閉サンプルはこちら

HTML記述例

<div id="sample2">
    <i id="sample2-trig">
        <u></u>
        <u></u>
        <u></u>
        <span>MENU</span>
    </i>
    <div id="sample2-menu" class="menu-list">
        <ul>
            <li>サンプル</li>
            <li>サンプル</li>
            <li>サンプル</li>
        </ul>
    </div>
</div>

CSS記述例

#sample2{
    position: relative;
}
#sample2-trig{
    margin: 0;
    display: block;
    width: 50px;
    height: 50px;
    background: #eee;
    margin: 10px;
    padding: 5px 10px;
    text-align: center;
    cursor: pointer;
    position: relative;
}
#sample2-trig u{
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 10px;
    margin: 5px auto;
    background: #000;
    transition: .5s all;
}
.open #sample2-trig u:nth-child(1){
    transform: translateY(8px) rotate(-45deg);
}
.open #sample2-trig u:nth-child(2){
    opacity: 0;
}
.open #sample2-trig u:nth-child(3){
    transform: translateY(-8px) rotate(45deg);
}
#sample2-trig span{
    font-size: 10px;
    line-height: 1;
    font-weight: bold;
    display: block;
}
#sample2 .menu-list{
    display: none;
    height: auto;
    width: 200px;
    background: #eee;
    position: absolute;
    top: 50px;
    left: 0;
    z-index: 1;
}

JS記述例

$(function() {
    $( '#sample2-trig' ).on( 'click', function(){
        $( '#sample2' ).toggleClass( 'open' );
        $( '#sample2-menu' ).slideToggle();
    });
});

まとめ

バーガーメニューのトリガーが変わるとドロワーメニューが少々リッチな印象になります。
レスポンシブサイトの作成の際などに参考にしてください。

この記事が気に入ったらシェアしてください

関連記事

jQueryでチェックボックスを操作する方法まとめ【2021年版】

jQueryでチェックボックスを操作する方法まとめ【2021年版】

jQueryプラグイン「Colorbox」でYoutube動画をモーダルで表示してみる(レスポンシブ対応済)

jQueryプラグイン「Colorbox」でYoutube動画をモーダルで表示してみる(レスポンシブ対応済)

jQueryプラグイン「Colorbox」でHTMLタグや外部HTMLファイルをモーダルで表示してみる

jQueryプラグイン「Colorbox」でHTMLタグや外部HTMLファイルをモーダルで表示してみる

簡単にモーダルウィンドウを実装できるjQueryプラグイン「Colorbox」

簡単にモーダルウィンドウを実装できるjQueryプラグイン「Colorbox」

SyntaxHighlighterでの表示を色々カスタマイズしてみる

SyntaxHighlighterでの表示を色々カスタマイズしてみる

【初心者向け】これだけわかっていればいいJavascriptとjQuery簡単な違いや使い方

【初心者向け】これだけわかっていればいいJavascriptとjQuery簡単な違いや使い方

Comment Form

コメント投稿はこちらをクリックしてください
  • コメントを入力してください。
登録フォーム
Name
Mailaddress
URL
Message
Postkey
(スパム対策に、投稿キー を半角で入力してください。)