デイトラweb制作コース 中級編 Day5-6
WEB制作コースの受講を開始
先日からデイトラでweb制作コースを受講し始めた。 初級編はそこまで難しくなかったので比較的サクサク進んだのだが、中級編ではJS、jQueryの勉強ということで苦戦中。本日の講義内容は課題制作。 どんどん忘れていきそうなのでnoteで備忘録を付けることにした。
課題内容について
jQueryを使ってドロップダウンメニューを実装
jQueryを使ってTOPへ戻るボタンを実装
jQueryを使ってモーダルを実装
とりあえずやってみろ方式。 検索すれば色々情報は出てくるので、どれをコピペしてアレンジして実装せよ、という感じ。
とはいえ、サンプルコードを読んでもお手上げ状態なので、chatGPTにコードを入力して、一つ一つ掻い摘んで解説してもらうことにした。 ちなみに専属のメンターって感じで結構良かった。
ドロップダウンのコードについて
$(function() {
$("ul.menu li").hover(
function() {
$(".menuSub:not(:animated)", this).slideDown();
},
function() {
$(".menuSub", this).slideUp();
}
);
});
引用:りんブログさん
このhoverメソッドの使い方は以下。
not(:animation)について
これがあることで、スライドダウン中の要素が途中でスライドアップしないようにしている、という解釈で良いのかな?
解釈が合っているか、確認できるの素晴らしい。
トップへ戻るボタンについて
$(function(){
var pagetop = $('#page_top');
// ボタン非表示
pagetop.hide();
// 100px スクロールしたらボタン表示
$(window).scroll(function () {
if ($(this).scrollTop() > 100) {
pagetop.fadeIn();
} else {
pagetop.fadeOut();
}
});
pagetop.click(function () {
$('body, html').animate({ scrollTop: 0 }, 500);
return false;
});
});
引用:AgoHackさん
このコードで学んだメソッドは2つ。
scrollTopメソッドの使い方
このコードの中では、分岐を持たせて、scrollTopが100pxを超えたら、フェードインでボタンが出てくるように実装しているらしい。
animateメソッドの使い方
animeteはこんな風に書かれるらしい。
$(selector).animate(properties, duration, easing, callback);
今回のコードでは、page_topのIDを持つ要素がclickされたら、bodyつまりページ全体のトップからの距離が0になる(500msかけて)という意味らしい。
モーダルについて
$(function() {
$('.course-item a').click(function() {
var imgSrc = $(this).children().attr('src');
$('.bigimg').children().attr('src', imgSrc);
$('.modal').fadeIn();
$('body,html').css('overflow-y', 'hidden');
return false
});
$('.close-btn').click(function() {
$('.modal').fadeOut();
$('body,html').css('overflow-y', 'visible');
return false
});
});
引用:ishitoblogさん
ありがたいことにデイトラ受講生が解答を公開していた。 一番難解だったのは、このモーダル実装。
変数を宣言する
今回の課題は画像をクリックすると、拡大画像がモーダルに表示されるという内容。そのため、変数imgSrcを宣言し、クリックしたときにbigimgクラスをもつ要素にimgSrcを挿入されるようにすることで、拡大画像を表示させている。
attrメソッドの使い方
return false;の使い方
ここで出てくるreturn falseの使い方をGPTに聞いてみたところ
私には、なんだかよくわからなかったので、さらに詳しく解説してもらった。
とってもわかりやすく解説してくれた。
まとめ
今回は、jQueryを使ってドロップダウンメニュー、トップへ戻るボタン、モーダルを実装する方法について学習した。
hoverメソッドを使用してドロップダウンメニューの実装。
scrollTopメソッドとanimateメソッドを使ったTOPへ戻るボタンの実装。
attrを用いて、変数にクリックした画像を取得し挿入することで、画像が拡大表示されるモーダルの実装。
return falseの使い方。
すらすら描けるようになるには、果てしなく練習が必要そう。がんばろ。