【デイトラ学習記録】WEB制作コース中級編DAY5 jQuery実践課題 ドロワーメニューとページトップボタンの実装

WEB

こんにちは!管理人ピスカです(@rina_pisca)!

只今デイトラのWEB制作コースを始め、97日目が経過しました。

(初級編は1ヶ月ほどで終わり、その後学習記録の執筆に1ヶ月ほどかかってしまいましたが…)

今回からは中級編の学習記録を振り返って残したいと思います。

初級編ではHTMLとCSS、Bootstrapを学びました。

難しくも理解していくのが楽しかった初級編でしたが、中級編に入り、JavaScript、jQueryがとても難しく感じ、早くも心が折れそうになりました;;;

JavaScriptとjQuery学習編クリアまでに1ヶ月くらいかかってしまいました(*´-`)

今回からはjQuery実装課題編です。

定番のアニメーションのドロワーメニューとページトップボタンを自分で調べて実装していきます。

私のコードも載せていますので、よかったらご覧ください。

ピスカ
ピスカ

管理人ピスカです。

1990年大阪市生まれ
3年間エステ、5年間美容皮膚科カウンセラー
その後、保育士資格を取得し3年間保育士として勤務

長男11時間保育園に預けるフルタイムワーキングママ

育休中に在宅ワークを目指してWEBスキル習得中です!

デイトラとは?

筆者は以前少しだけワードプレスでのブログ運営はしておりましたがすぐに挫折し、ほぼWEBスキル0からのスタートです。

まず、HTML、CSS、コーディングって何?のレベルから始めました。

デイトラWEB制作コースはそんな全くの未経験でも初級編だけで月5万のスキルが身に付くという内容の“未経験でも・迷わず・楽しく”学べるオンラインスクールです。

中級、上級レベルになると本業でバリバリやっていけるスキルが身につきそうです。

【高価】自己投資!オンラインスクールデイトラを選んだ理由
現在育休中なのですが、育休中にWEB制作のフリーランサーを目指してオンラインスクール”デイトラ”でWEB制作コースを受講することにしました。無料で数ある情報を手に入れやすい環境の中で、わざわざお金を払ってオンラインスクールを受講する理由と、たくさんのオンラインスクールの中からデイトラを選んだ理由をまとめました。これからオンラインスクールでの受講を考えている方へ、少しでも参考になれば嬉しいです。

DAY5 【調べながら実装しよう】jQuery実践課題①

DAY5での実装課題では初級編で作成したデイトラ簡易サイトにjQueryのアニメーションを実装していきます。

WEBサイトなどでお馴染みのドロワーメニューとページトップボタンを自分で調べて実装していきます。

そこでお世話になった記事がこちら

https://qiita.com/FuRiC_QT/items/5a8bc271c713bffa1c0e

全くのコピペで参考にさせてもらいました!

解説も入れてくださりとてもわかりやすかったです♪

課題①:ドロワーメニューの実装

ドロワーメニューとはピッと押すと、引き出しのようにスライドメニューなどが出てくるアニメーションです。

ヘッダーの「コース一覧」にドロワーメニューを実装しました。

まずはHTMLから。

header-rightのコース一覧にdrawerとクラスをつけ、そこにdrawer-listとクラス名をつけたリストを作ります。

<div class="header-right">
                <ul class="header-nav clear">
                    <li class="header-nav-item"><a href="#"></a>デイトラとは</li>
                    <li class="header-nav-item">
                        <a href="#" class="drawer">コース一覧</a>
                         <ul class="drawer-list">
                             <li class="drawer-word"><a href="#title">初級</a></li>
                             <li class="drawer-word"><a href="#title">中級</a></li>
                             <li class="drawer-word"><a href="#title">上級</a></li>
                         </ul>
                    </li>
                    <li class="header-nav-item"><a href="#"></a>お問い合せ</li>
                </ul>
            </div>

次にjQueryです。

私はCDNで読み込みましたのでこの中に jQueryのコードを入れていきます。

</body>のすぐ上に読み込んでいきます。

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script>
        ここに jQueryのコードを入力していく。
    </script>
</body>
</html>
$(function () {
    $(".drawer").click(function () {            //クラス".drawer"をclickしたら
        $(".drawer-list").slideToggle();       //クラス".drawer-list"がslideToggleする
    });
});

クリックしたら開閉して表示非表示になるボタンのことをToggle (トグル)といいます。

ではCSSで装飾をつけていきます。

/*------------
drawer menu
-------------*/
.drawer-list {
    display: none;
    font-size: 15px;
    line-height: 36px;
    color: #082B48;
    text-align: center;
    background-color: #fafafa;
    border: 1px solid;
}

課題②:ページトップへ戻るボタンを付ける

次にページトップボタンを実装します。

ページトップボタンは、大体のサイトに置かれているこれですね!

ある程度スクロールしてからボタンを押すとビューンとページトップに戻ってくるアレです。

まずはHTMLから。

<div id="page_top">
    <a href="#">🔝</a>
</div>

どこに書いてもいいと思うのですが私はCDNを読み込むすぐ上に書きました。

次にjQuery。

// ページトップ

jQuery(function () {
    var pagetop = $('#page_top'); //page-topが「#pagetop」を取得
    pagetop.hide();//特定のHTML要素を非表示にする。
    $(window).scroll(function () { //widowをスクロースする
        if ($(this).scrollTop() > 80) {  //80pxスクロールしたら表示
            pagetop.fadeIn(300);//0.3秒かけてフェードイン
        } else {
            pagetop.fadeOut(300);//0.3秒かけてフェードアウト
        }
    });


    pagetop.click(function () {//pagetopをクリックしたら
        $('body,html').animate({
            scrollTop: 0 //画面の最上部の位置に移動するという意味
        }, 500); //0.5秒かけてトップへ移動
        return false;  //処理の最後に記述する
});
});

こちらの解説はさきほどの参考記事のコードを全くのコピペさせていただいています。

わかりやすいです♪

次にCSSです。

/*------------
pagetop
-------------*/
#page_top {
    width: 50px;
    height: 50px;
    position: fixed;
    right: 0;
    bottom: 60px;
    background: #70aeed;
    opacity: 0.8;
    border-radius: 50%;
}

#page_top a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
    text-align: center;
    font-size: 30px;
    margin-top: 3px;
}

まとめ

おつかれさまでした!

これらの jQueryは定番のコードなのでこれから何回も使っていくことになると思います。

一度書いたら、次からはコピペで使いまわしたらいいと思います!

私はデイトラで教えてくれたBoost Noteで使いまわせそうなコードをメモしています。

インストールはこちら↓

Releases · BoostIO/boost-releases
🚀 Boostnote app releases & changelog. Contribute to BoostIO/boost-releases development by creating an account on GitHub.

次回はモーダルというアニメーションの実装課題です。

【デイトラ学習記録】WEB制作コース中級編DAY6 jQuery実践課題 モーダルで画像の拡大表示
jQuery実装課題②はモーダルで画像の拡大表示です。これもWEBサイトなどで定番の jQueryですね!私はここでかなり詰まって時間がかかったのですが、解決した内容をまとめました。成功した私のコードも載せていますのでよかったら答え合わせに使ってください♪

最後までご覧いただきありがとうございました!

タイトルとURLをコピーしました