> 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でlabelにクリックイベントを設定するとダブルクリック判定になる時の対処法

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

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

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

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

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

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

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

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

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

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

Comment Form

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