![見出し画像](https://assets.st-note.com/production/uploads/images/87918494/rectangle_large_type_2_0b87fec8301b491d63660a9952134175.jpeg?width=800)
【 WEBデザイン 】 jQueryの基礎と、よく使う機能を簡単実装 FirE♯540
jQueryはオワコンだと言われて久しいですが、やはりまだ普通に使ってるじゃないかということで、よく使う機能をまとめました。
【 jQuery 】
JavaScriptのライブラリのひとつ。
HTML、CSSの知識があれば、わかりやすい記法で書くことができ、CSS実装できない動きを実装可能。
■ jQueryの導入
CDNで読み込むの簡単です。
CDNとは、ネットからファイルを読み込む方法です。
■Google CDN
こちらで、jQueryを選択してCDNをコピペして使用することができます。
jQueryのオフィシャルサイトからも取得できます。
■ プラグイン
jQueryには、多くのプラグインが存在します。
オープンソースで公開されており、無料で自由に使うことができます。
その際に注意が必要なのは、jQueryのバージョンです。
プラグインの環境が旧バージョンのみ対応しているものもありますので、
うまく動かない場合は、バージョンを確認してましょう。
■ jQueryの記法
例:<p>タグのテキストを赤に変える
このような処理を書いてみましょう。
▶︎ 一般的な記法
<script>
$(function(){
$("p").css({"color","red"});
});
</script>
▶ CSSライクな記法
<script>
$(function(){
$("p").css({
"color":"red"
});
});
</script>
【 jQuery実装するよく使う機能 】
jQuery実装で簡単に実装できる機能のコードをまとめます。
■ アコーディオンメニュ
クリックすると、リストが降りてくる動きを実装します。
HTML & JS
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>アコーディオンメニュー</title>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
</head>
<body>
<div class="wrapper">
<h1>アコーディオンメニュー</h1>
<h2 class="accordion">> jsを利用したアコーディオンメニュー</h2>
<ul>
<li><a href="#">menu1</a></li>
<li><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
<li><a href="#">menu4</a></li>
<li><a href="#">menu5</a></li>
</ul>
<h2 class="accordion">> jsを利用したアコーディオンメニュー</h2>
<ul>
<li><a href="#">menu1</a></li>
<li><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
<li><a href="#">menu4</a></li>
<li><a href="#">menu5</a></li>
</ul>
<h2 class="accordion">> jsを利用したアコーディオンメニュー</h2>
<ul>
<li><a href="#">menu1</a></li>
<li><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
<li><a href="#">menu4</a></li>
<li><a href="#">menu5</a></li>
</ul>
</div>
<script>
$(function() {
$(".accordion+ul").hide();
$(".accordion").click(function() {
$(this).next().slideToggle();
});
});
</script>
</body>
</html>
CSS
* {
margin: 0;
padding: 0;
}
.wrapper {
width: 80%;
margin: 0 auto;
}
h2 {
padding: 0.5em 0;
border-bottom: 1px solid #ccc;
cursor: pointer;
font-size: 24px;
}
.accordion+ul li {
list-style-type: none;
border-bottom: 1px solid #ccc;
}
.accordion+ul li a {
display: block;
padding: 0.5em 0 0.5em 1em;
color: #333;
text-decoration: none;
transition: 0.5s;
}
.accordion+ul li a:hover {
background-color: dodgerblue;
color: #fff;
}
■スクロールイベント
スクロール値に応じて、ボタンの表示非表示を切り替えます。
JSを別フォルダに格納するパターンです。
HTML
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>スクロールイベント</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="wrapper">
<h1>スクロールイベント</h1>
</div>
<div class="pagetop_btn"><a href="#">↑</a></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="scroll.js"></script>
</body>
</html>l
CSS
* {
margin: 0;
padding: 0;
}
body {
background-color: deepskyblue;
}
.wrapper {
width: 80%;
height: 2000px;
background-color: #fff;
margin: 0 auto;
}
h1 {
margin: 1em 0;
}
.pagetop_btn {
position: fixed;
right: 20px;
bottom: 20px;
}
.pagetop_btn a {
display: block;
width: 50px;
background-color: #fff;
border-radius: 3px;
color: deepskyblue;
text-align: center;
text-decoration: none;
line-height: 50px;
}
JS
var topBtn=$(".pagetop_btn");
topBtn.hide();
$(window).scroll(function(){
if($(this).scrollTop() > 100){
topBtn.fadeIn();
}else{
topBtn.fadeOut();
};
});
■ スライダー bxslider
bxsliderを使ってスライダーを実装します。
HTML
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>スライダー[bxslider]</title>
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="jquery.bxslider.css">
</head>
<body>
<div class="wrapper">
<h1>スライダー[bxslider]</h1>
<ul class="bxslider">
<li><img src="img/slider01.jpg"></li>
<li><img src="img/slider02.jpg"></li>
<li><img src="img/slider03.jpg"></li>
</ul>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.15/jquery.bxslider.min.js" integrity="sha512-p55Bpm5gf7tvTsmkwyszUe4oVMwxJMoff7Jq3J/oHaBk+tNQvDKNz9/gLxn9vyCjgd6SAoqLnL13fnuZzCYAUA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
$(".bxslider").bxSlider({
auto: true,
pause: 4000,
});
</script>
</body>
</html>
CSS
* {
margin: 0;
padding: 0;
}
body {
background-color: deepskyblue;
}
.wrapper {
width: 80%;
margin: 0 auto;
}
h1 {
margin: 1em 0;
}
■モーダルウィンドウ lightbox
lightbox2を使ってモーダルウィンドウを実装します。
HTML
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>モーダルウィンドウ[Lightbox2 ][bxslider]</title>
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.3/css/lightbox.css" integrity="sha512-Woz+DqWYJ51bpVk5Fv0yES/edIMXjj3Ynda+KWTIkGoynAMHrqTcDUQltbipuiaD5ymEo9520lyoVOo9jCQOCA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
<body>
<div class="wrapper">
<h1>モーダルウィンドウ[Lightbox2 ]</h1>
<p><a href="images/photo01.jpg" data-lightbox="groupname" data-title="Mycaption"><img src="images/photo01_thumb.jpg" alt=""></a>
</p>
<ul>
<li>
<a href="images/photo02.jpg" data-lightbox="groupname" data-title="画像2">
<img src="images/photo02_thumb.jpg" alt="">
</a>
</li>
<li>
<a href="images/photo03.jpg" data-lightbox="groupname" data-title="画像3">
<img src="images/photo03_thumb.jpg" alt="">
</a>
</li>
<li>
<a href="images/photo04.jpg" data-lightbox="groupname" data-title="画像4">
<img src="images/photo04_thumb.jpg" alt="">
</a>
</li>
</ul>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.3/js/lightbox.min.js" integrity="sha512-k2GFCTbp9rQU412BStrcD/rlwv1PYec9SNrkbQlo6RZCf75l6KcC3UwDY8H5n5hl4v77IDtIPwOk9Dqjs/mMBQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
</body>
</html>
CSS
* {
margin: 0;
padding: 0;
}
.wrapper {
width: 80%;
margin: 0 auto;
}
h1 {
margin: 1em 0;
}
ul li {
list-style-type: none;
display: inline-block;
}
【 まとめ 】
今回は、備忘録的にコードをまとめました。
最も基本的な形なので、カスタマイズして使いまわしましょう。
この記事が気に入ったらサポートをしてみませんか?